|
@@ -1,4 +1,5 @@
|
|
|
-using MediaBrowser.Common.IO;
|
|
|
+using System.Globalization;
|
|
|
+using MediaBrowser.Common.IO;
|
|
|
using MediaBrowser.Common.MediaInfo;
|
|
|
using MediaBrowser.Controller.Configuration;
|
|
|
using MediaBrowser.Controller.Entities;
|
|
@@ -51,7 +52,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
|
|
private readonly IIsoManager _isoManager;
|
|
|
|
|
|
private readonly ILocalizationManager _localization;
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Returns true or false indicating if the provider should refresh when the contents of it's directory changes
|
|
|
/// </summary>
|
|
@@ -232,6 +233,67 @@ namespace MediaBrowser.Providers.MediaInfo
|
|
|
}
|
|
|
|
|
|
AddExternalSubtitles(video);
|
|
|
+
|
|
|
+ FetchWtvInfo(video, data);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Fetches the WTV info.
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="video">The video.</param>
|
|
|
+ /// <param name="data">The data.</param>
|
|
|
+ private void FetchWtvInfo(Video video, MediaInfoResult data)
|
|
|
+ {
|
|
|
+ if (data.format.tags == null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var genres = GetDictionaryValue(data.format.tags, "genre");
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(genres))
|
|
|
+ {
|
|
|
+ video.Genres = genres.Split(new[] { ';', '/' }, StringSplitOptions.RemoveEmptyEntries)
|
|
|
+ .Where(i => !string.IsNullOrWhiteSpace(i))
|
|
|
+ .Select(i => i.Trim())
|
|
|
+ .ToList();
|
|
|
+ }
|
|
|
+
|
|
|
+ var overview = GetDictionaryValue(data.format.tags, "WM/SubTitleDescription");
|
|
|
+
|
|
|
+ if (!string.IsNullOrWhiteSpace(overview))
|
|
|
+ {
|
|
|
+ video.Overview = overview;
|
|
|
+ }
|
|
|
+
|
|
|
+ var officialRating = GetDictionaryValue(data.format.tags, "WM/ParentalRating");
|
|
|
+
|
|
|
+ if (!string.IsNullOrWhiteSpace(officialRating))
|
|
|
+ {
|
|
|
+ video.OfficialRating = officialRating;
|
|
|
+ }
|
|
|
+
|
|
|
+ var people = GetDictionaryValue(data.format.tags, "WM/MediaCredits");
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(people))
|
|
|
+ {
|
|
|
+ video.People = people.Split(new[] { ';', '/' }, StringSplitOptions.RemoveEmptyEntries)
|
|
|
+ .Where(i => !string.IsNullOrWhiteSpace(i))
|
|
|
+ .Select(i => new PersonInfo { Name = i.Trim(), Type = PersonType.Actor })
|
|
|
+ .ToList();
|
|
|
+ }
|
|
|
+
|
|
|
+ var year = GetDictionaryValue(data.format.tags, "WM/OriginalReleaseTime");
|
|
|
+
|
|
|
+ if (!string.IsNullOrWhiteSpace(year))
|
|
|
+ {
|
|
|
+ int val;
|
|
|
+
|
|
|
+ if (int.TryParse(year, NumberStyles.Integer, UsCulture, out val))
|
|
|
+ {
|
|
|
+ video.ProductionYear = val;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|