private/Get-GenreNameFromID.ps1
|
Function Get-GenreNameFromID { <# .DESCRIPTION Gets the friendly Genre name from the TMDB Genre ID code. .OUTPUTS A single [String] object. .PARAMETER ID REQUIRED. String. Alias: -i. Genre ID. .PARAMETER TV REQUIRED. String. Alias: -t. Get TV Genres. .PARAMETER Movie REQUIRED. String. Alias: -m. Get Movie Genres. .PARAMETER Language OPTIONAL. String. Alias: -l. The desired target language of the query. The value defaults to the user's operating system settings. Example: en-US .EXAMPLE Get-GenreNameFromID -TV -i "10759" .EXAMPLE "10759" | Get-GenreNameFromID -m #> [OutputType([String])] [CmdletBinding()] param ( [Parameter(Mandatory,ValueFromPipeline)] [Alias('i')] [String] $ID, [Parameter(Mandatory,ParameterSetName = "T")] [Alias('t')] [Switch] $TV, [Parameter(Mandatory,ParameterSetName = "M")] [Alias('m')] [Switch] $Movie, [Parameter()] [Alias('l')] [String] $Language = $((Get-Culture).Name.ToString()) ) process { Write-Msg -FunctionCall -IncludeParameters if ( $TV ) { if ( $(Test-IsNothing($Script:TMDB_TV_GENRES)) -or $($Script:TMDB_GENRE_LANGUAGE -ne $Language) ) { $r = Get-TMdbGenres -t -l $Language if ( $r.success ) { $Script:TMDB_TV_GENRES = $r.value $Script:TMDB_GENRE_LANGUAGE = $Language } } $genre = $Script:TMDB_TV_GENRES.ContainsKey($ID) ? $Script:TMDB_TV_GENRES[$ID] : '' } else { if ( $(Test-IsNothing($Script:TMDB_MOVIE_GENRES)) -or $($Script:TMDB_GENRE_LANGUAGE -ne $Language) ) { $r = Get-TMdbGenres -m -l $Language if ( $r.success ) { $Script:TMDB_MOVIE_GENRES = $r.value $Script:TMDB_GENRE_LANGUAGE = $Language } } $genre = $Script:TMDB_MOVIE_GENRES.ContainsKey($ID) ? $Script:TMDB_MOVIE_GENRES[$ID] : '' } Write-Msg -FunctionResult -m $( 'Genre Name: {0}' -f $genre ) return $genre } } |