diff options
| author | David <daullmer@gmail.com> | 2021-03-06 14:50:27 +0100 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2021-03-06 14:50:27 +0100 |
| commit | 6f898145afe013d7dfcd47fbc6adab9316e2dd63 (patch) | |
| tree | e10a2fadb5b4bba723de026f76673ea2b378b788 | |
| parent | 16694b0cfcc51ba009a0aedce0d383ab010e8b99 (diff) | |
Use Uri.TryCreate and ImageType helper method
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index aa89936d0..2e222c0a4 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -803,25 +803,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers break; } - ImageType imageType = artType switch - { - "banner" => ImageType.Banner, - "clearlogo" => ImageType.Logo, - "discart" => ImageType.Disc, - "landscape" => ImageType.Thumb, - "clearart" => ImageType.Art, - // unknown type (including "poster") --> primary - _ => ImageType.Primary, - }; - - Uri uri; - try - { - uri = new Uri(val); - } - catch (UriFormatException ex) + ImageType imageType = GetImageType(artType); + + if (!Uri.TryCreate(val, UriKind.Absolute, out var uri) || uri == null) { - Logger.LogError(ex, "Image location {Path} specified in nfo file for {ItemName} is not a valid URL or file path.", val, item.Name); + Logger.LogError("Image location {Path} specified in nfo file for {ItemName} is not a valid URL or file path.", val, item.Name); break; } @@ -1256,5 +1242,24 @@ namespace MediaBrowser.XbmcMetadata.Parsers return string.IsNullOrWhiteSpace(value) ? Array.Empty<string>() : value.Split(separator, StringSplitOptions.RemoveEmptyEntries); } + + /// <summary> + /// Parses the ImageType from the nfo aspect property. + /// </summary> + /// <param name="aspect">The nfo aspect property.</param> + /// <returns>The image type.</returns> + private static ImageType GetImageType(string aspect) + { + return aspect switch + { + "banner" => ImageType.Banner, + "clearlogo" => ImageType.Logo, + "discart" => ImageType.Disc, + "landscape" => ImageType.Thumb, + "clearart" => ImageType.Art, + // unknown type (including "poster") --> primary + _ => ImageType.Primary, + }; + } } } |
