aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-02-19 12:50:05 -0500
committerLuke <luke.pulverenti@gmail.com>2015-02-19 12:50:05 -0500
commit8c09665c40776060a09655fb4ea04ec65bdffb73 (patch)
treeb1432a7315a7a7689be21fa2e3cc122350c778b2 /MediaBrowser.Controller
parent3cce8731614e6846096bbe54fca8336e7f5d98d9 (diff)
parentf2c3dade77878b48a9a333d745e5d92a0f913233 (diff)
Merge pull request #1016 from MediaBrowser/dev
3.0.5518.5
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs10
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicGenre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs26
-rw-r--r--MediaBrowser.Controller/Entities/GameGenre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Genre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Movies/BoxSet.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Person.cs9
-rw-r--r--MediaBrowser.Controller/Entities/Studio.cs6
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs7
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Year.cs5
-rw-r--r--MediaBrowser.Controller/Library/ILibraryManager.cs7
-rw-r--r--MediaBrowser.Controller/Library/IUserDataManager.cs2
-rw-r--r--MediaBrowser.Controller/Library/IUserManager.cs3
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs13
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs2
16 files changed, 94 insertions, 18 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index e65d3c0e7..2b8145041 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -52,6 +52,16 @@ namespace MediaBrowser.Controller.Entities.Audio
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ if (IsAccessedByName)
+ {
+ return true;
+ }
+
+ return base.IsSaveLocalMetadataEnabled();
+ }
+
private readonly Task _cachedTask = Task.FromResult(true);
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
index ed0956073..971c09236 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
@@ -44,6 +44,11 @@ namespace MediaBrowser.Controller.Entities.Audio
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 3ab02ea21..50a6dda30 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -976,14 +976,21 @@ namespace MediaBrowser.Controller.Entities
lang = hasLang.PreferredMetadataLanguage;
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
.Select(i => i.PreferredMetadataLanguage)
- .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
+ {
+ lang = LibraryManager.GetCollectionFolders(this)
+ .Select(i => i.PreferredMetadataLanguage)
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
+ }
+
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = ConfigurationManager.Configuration.PreferredMetadataLanguage;
}
@@ -1006,14 +1013,21 @@ namespace MediaBrowser.Controller.Entities
lang = hasLang.PreferredMetadataCountryCode;
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
.Select(i => i.PreferredMetadataCountryCode)
- .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
+ }
+
+ if (string.IsNullOrWhiteSpace(lang))
+ {
+ lang = LibraryManager.GetCollectionFolders(this)
+ .Select(i => i.PreferredMetadataCountryCode)
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = ConfigurationManager.Configuration.MetadataCountryCode;
}
diff --git a/MediaBrowser.Controller/Entities/GameGenre.cs b/MediaBrowser.Controller/Entities/GameGenre.cs
index b246b9388..c91acbe3f 100644
--- a/MediaBrowser.Controller/Entities/GameGenre.cs
+++ b/MediaBrowser.Controller/Entities/GameGenre.cs
@@ -43,6 +43,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public override bool CanDelete()
{
return false;
diff --git a/MediaBrowser.Controller/Entities/Genre.cs b/MediaBrowser.Controller/Entities/Genre.cs
index e17a5c1d8..cb68e5dae 100644
--- a/MediaBrowser.Controller/Entities/Genre.cs
+++ b/MediaBrowser.Controller/Entities/Genre.cs
@@ -34,6 +34,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public override bool CanDelete()
{
return false;
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
index d874046ef..0778643da 100644
--- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
+++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
@@ -79,6 +79,11 @@ namespace MediaBrowser.Controller.Entities.Movies
return true;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets the trailer ids.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs
index d8cb69ca1..ef24d4347 100644
--- a/MediaBrowser.Controller/Entities/Person.cs
+++ b/MediaBrowser.Controller/Entities/Person.cs
@@ -1,8 +1,8 @@
-using System.Runtime.Serialization;
-using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Entities
{
@@ -50,6 +50,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs
index 31bbaf422..b8d359369 100644
--- a/MediaBrowser.Controller/Entities/Studio.cs
+++ b/MediaBrowser.Controller/Entities/Studio.cs
@@ -45,6 +45,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
@@ -63,7 +68,6 @@ namespace MediaBrowser.Controller.Entities
return inputItems.Where(GetItemFilter());
}
-
public Func<BaseItem, bool> GetItemFilter()
{
return i => i.Studios.Contains(Name, StringComparer.OrdinalIgnoreCase);
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 619617e9f..4c34460d7 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -1,7 +1,4 @@
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Controller.Localization;
-using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
@@ -10,6 +7,8 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
+using System.Threading;
+using System.Threading.Tasks;
namespace MediaBrowser.Controller.Entities.TV
{
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index b5ca053ec..85c10c272 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -1632,7 +1632,7 @@ namespace MediaBrowser.Controller.Entities
var ok = new[] { item }.Any(i =>
i.People != null &&
i.People.Any(p =>
- p.Name.Equals(query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role, StringComparer.OrdinalIgnoreCase))));
+ string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type ?? string.Empty, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role ?? string.Empty, StringComparer.OrdinalIgnoreCase))));
if (!ok)
{
diff --git a/MediaBrowser.Controller/Entities/Year.cs b/MediaBrowser.Controller/Entities/Year.cs
index cf3ad3b6a..a1a152387 100644
--- a/MediaBrowser.Controller/Entities/Year.cs
+++ b/MediaBrowser.Controller/Entities/Year.cs
@@ -52,6 +52,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
{
int year;
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs
index 9871ef3c5..9c8ed45a5 100644
--- a/MediaBrowser.Controller/Library/ILibraryManager.cs
+++ b/MediaBrowser.Controller/Library/ILibraryManager.cs
@@ -393,5 +393,12 @@ namespace MediaBrowser.Controller.Library
/// <returns>IEnumerable&lt;Video&gt;.</returns>
IEnumerable<Video> FindExtras(BaseItem owner, List<FileSystemInfo> fileSystemChildren,
IDirectoryService directoryService);
+
+ /// <summary>
+ /// Gets the collection folders.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns>IEnumerable&lt;Folder&gt;.</returns>
+ IEnumerable<Folder> GetCollectionFolders(BaseItem item);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Library/IUserDataManager.cs b/MediaBrowser.Controller/Library/IUserDataManager.cs
index 06e7d1763..f230f1472 100644
--- a/MediaBrowser.Controller/Library/IUserDataManager.cs
+++ b/MediaBrowser.Controller/Library/IUserDataManager.cs
@@ -64,6 +64,6 @@ namespace MediaBrowser.Controller.Library
/// <summary>
/// Updates playstate for an item and returns true or false indicating if it was played to completion
/// </summary>
- bool UpdatePlayState(BaseItem item, UserItemData data, long positionTicks);
+ bool UpdatePlayState(BaseItem item, UserItemData data, long? positionTicks);
}
}
diff --git a/MediaBrowser.Controller/Library/IUserManager.cs b/MediaBrowser.Controller/Library/IUserManager.cs
index 97a3cced9..8119e5afb 100644
--- a/MediaBrowser.Controller/Library/IUserManager.cs
+++ b/MediaBrowser.Controller/Library/IUserManager.cs
@@ -121,9 +121,8 @@ namespace MediaBrowser.Controller.Library
/// Gets the offline user dto.
/// </summary>
/// <param name="user">The user.</param>
- /// <param name="deviceId">The device identifier.</param>
/// <returns>UserDto.</returns>
- UserDto GetOfflineUserDto(User user, string deviceId);
+ UserDto GetOfflineUserDto(User user);
/// <summary>
/// Resets the easy password.
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index a37f7eb8a..a22e492f4 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -294,6 +294,19 @@ namespace MediaBrowser.Controller.Providers
break;
}
+ case "CountryCode":
+ {
+ var val = reader.ReadElementContentAsString();
+
+ var hasLanguage = item as IHasPreferredMetadataLanguage;
+ if (hasLanguage != null)
+ {
+ hasLanguage.PreferredMetadataCountryCode = val;
+ }
+
+ break;
+ }
+
case "PlaceOfBirth":
{
var val = reader.ReadElementContentAsString();
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
index 4d654575e..4b800cac9 100644
--- a/MediaBrowser.Controller/Sync/ISyncManager.cs
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -123,7 +123,7 @@ namespace MediaBrowser.Controller.Sync
/// </summary>
/// <param name="targetId">The target identifier.</param>
/// <returns>List&lt;SyncedItem&gt;.</returns>
- List<SyncedItem> GetReadySyncItems(string targetId);
+ Task<List<SyncedItem>> GetReadySyncItems(string targetId);
/// <summary>
/// Synchronizes the data.