aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-02-21 13:05:21 -0500
committerGitHub <noreply@github.com>2017-02-21 13:05:21 -0500
commite298968fe50fcfb331225c6a13bc2d4abcc8d9de (patch)
tree279212d09880ac7273fe3c2a3af03ca3fb907afe /MediaBrowser.Providers
parent76b5d08c0619c9e97a52fddab650731b938e19e0 (diff)
parent389d3f7629b05330c6d3b29299da3198396728c1 (diff)
Merge pull request #2482 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs24
-rw-r--r--MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs57
2 files changed, 22 insertions, 59 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
index 1bb715866d..2270ad65ce 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
@@ -348,7 +348,7 @@ namespace MediaBrowser.Providers.MediaInfo
{
var isFullRefresh = options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh;
- if (!video.LockedFields.Contains(MetadataFields.OfficialRating))
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.OfficialRating))
{
if (!string.IsNullOrWhiteSpace(data.OfficialRating) || isFullRefresh)
{
@@ -361,7 +361,7 @@ namespace MediaBrowser.Providers.MediaInfo
video.OfficialRatingDescription = data.OfficialRatingDescription;
}
- if (!video.LockedFields.Contains(MetadataFields.Genres))
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Genres))
{
if (video.Genres.Count == 0 || isFullRefresh)
{
@@ -374,7 +374,7 @@ namespace MediaBrowser.Providers.MediaInfo
}
}
- if (!video.LockedFields.Contains(MetadataFields.Studios))
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Studios))
{
if (video.Studios.Count == 0 || isFullRefresh)
{
@@ -415,14 +415,18 @@ namespace MediaBrowser.Providers.MediaInfo
video.ParentIndexNumber = data.ParentIndexNumber;
}
}
- if (!string.IsNullOrWhiteSpace(data.Name))
+
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Name))
{
- if (string.IsNullOrWhiteSpace(video.Name) || (string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase) && !video.ProviderIds.Any()))
+ if (!string.IsNullOrWhiteSpace(data.Name))
{
- // Don't use the embedded name for extras because it will often be the same name as the movie
- if (!video.ExtraType.HasValue && !video.IsOwnedItem)
+ if (string.IsNullOrWhiteSpace(video.Name) || (string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase) && !video.ProviderIds.Any()))
{
- video.Name = data.Name;
+ // Don't use the embedded name for extras because it will often be the same name as the movie
+ if (!video.ExtraType.HasValue && !video.IsOwnedItem)
+ {
+ video.Name = data.Name;
+ }
}
}
}
@@ -433,7 +437,7 @@ namespace MediaBrowser.Providers.MediaInfo
video.ProductionYear = video.PremiereDate.Value.ToLocalTime().Year;
}
- if (!video.LockedFields.Contains(MetadataFields.Overview))
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Overview))
{
if (string.IsNullOrWhiteSpace(video.Overview) || isFullRefresh)
{
@@ -446,7 +450,7 @@ namespace MediaBrowser.Providers.MediaInfo
{
var isFullRefresh = options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh;
- if (!video.LockedFields.Contains(MetadataFields.Cast))
+ if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Cast))
{
if (isFullRefresh || _libraryManager.GetPeople(video).Count == 0)
{
diff --git a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs
index 30617643ac..e6eb0951d9 100644
--- a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs
+++ b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs
@@ -45,7 +45,6 @@ namespace MediaBrowser.Providers.Music
public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(AlbumInfo searchInfo, CancellationToken cancellationToken)
{
var releaseId = searchInfo.GetReleaseId();
- var releaseGroupId = searchInfo.GetReleaseGroupId();
string url = null;
var isNameSearch = false;
@@ -54,10 +53,6 @@ namespace MediaBrowser.Providers.Music
{
url = string.Format("/ws/2/release/?query=reid:{0}", releaseId);
}
- else if (!string.IsNullOrEmpty(releaseGroupId))
- {
- url = string.Format("/ws/2/release?release-group={0}", releaseGroupId);
- }
else
{
var artistMusicBrainzId = searchInfo.GetMusicBrainzArtistId();
@@ -136,14 +131,7 @@ namespace MediaBrowser.Providers.Music
Item = new MusicAlbum()
};
- // If we have a release group Id but not a release Id...
- if (string.IsNullOrWhiteSpace(releaseId) && !string.IsNullOrWhiteSpace(releaseGroupId))
- {
- releaseId = await GetReleaseIdFromReleaseGroupId(releaseGroupId, cancellationToken).ConfigureAwait(false);
- result.HasMetadata = true;
- }
-
- if (string.IsNullOrWhiteSpace(releaseId))
+ if (string.IsNullOrEmpty(releaseId))
{
var artistMusicBrainzId = id.GetMusicBrainzArtistId();
@@ -151,13 +139,13 @@ namespace MediaBrowser.Providers.Music
if (releaseResult != null)
{
- if (!string.IsNullOrWhiteSpace(releaseResult.ReleaseId))
+ if (!string.IsNullOrEmpty(releaseResult.ReleaseId))
{
releaseId = releaseResult.ReleaseId;
result.HasMetadata = true;
}
- if (!string.IsNullOrWhiteSpace(releaseResult.ReleaseGroupId))
+ if (!string.IsNullOrEmpty(releaseResult.ReleaseGroupId))
{
releaseGroupId = releaseResult.ReleaseGroupId;
result.HasMetadata = true;
@@ -169,13 +157,13 @@ namespace MediaBrowser.Providers.Music
}
// If we have a release Id but not a release group Id...
- if (!string.IsNullOrWhiteSpace(releaseId) && string.IsNullOrWhiteSpace(releaseGroupId))
+ if (!string.IsNullOrEmpty(releaseId) && string.IsNullOrEmpty(releaseGroupId))
{
- releaseGroupId = await GetReleaseGroupFromReleaseId(releaseId, cancellationToken).ConfigureAwait(false);
+ releaseGroupId = await GetReleaseGroupId(releaseId, cancellationToken).ConfigureAwait(false);
result.HasMetadata = true;
}
- if (!string.IsNullOrWhiteSpace(releaseId) || !string.IsNullOrWhiteSpace(releaseGroupId))
+ if (!string.IsNullOrEmpty(releaseId) || !string.IsNullOrEmpty(releaseGroupId))
{
result.HasMetadata = true;
}
@@ -423,42 +411,13 @@ namespace MediaBrowser.Providers.Music
}
}
- private async Task<string> GetReleaseIdFromReleaseGroupId(string releaseGroupId, CancellationToken cancellationToken)
- {
- var url = string.Format("/ws/2/release?release-group={0}", releaseGroupId);
-
- using (var stream = await GetMusicBrainzResponse(url, true, cancellationToken).ConfigureAwait(false))
- {
- using (var oReader = new StreamReader(stream, Encoding.UTF8))
- {
- var settings = _xmlSettings.Create(false);
-
- settings.CheckCharacters = false;
- settings.IgnoreProcessingInstructions = true;
- settings.IgnoreComments = true;
-
- using (var reader = XmlReader.Create(oReader, settings))
- {
- var result = ReleaseResult.Parse(reader).FirstOrDefault();
-
- if (result != null)
- {
- return result.ReleaseId;
- }
- }
- }
- }
-
- return null;
- }
-
/// <summary>
/// Gets the release group id internal.
/// </summary>
/// <param name="releaseEntryId">The release entry id.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{System.String}.</returns>
- private async Task<string> GetReleaseGroupFromReleaseId(string releaseEntryId, CancellationToken cancellationToken)
+ private async Task<string> GetReleaseGroupId(string releaseEntryId, CancellationToken cancellationToken)
{
var url = string.Format("/ws/2/release-group/?query=reid:{0}", releaseEntryId);
@@ -662,4 +621,4 @@ namespace MediaBrowser.Providers.Music
public int throttleMs { get; set; }
}
}
-}
+} \ No newline at end of file