aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model')
-rw-r--r--MediaBrowser.Model/Configuration/UserConfiguration.cs5
-rw-r--r--MediaBrowser.Model/Dlna/CodecProfile.cs5
-rw-r--r--MediaBrowser.Model/Dlna/DeviceProfile.cs14
-rw-r--r--MediaBrowser.Model/Dlna/Filter.cs7
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs7
-rw-r--r--MediaBrowser.Model/Entities/CollectionType.cs2
-rw-r--r--MediaBrowser.Model/Extensions/ListHelper.cs19
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj1
8 files changed, 41 insertions, 19 deletions
diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs
index 552747f5f4..885172bed7 100644
--- a/MediaBrowser.Model/Configuration/UserConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs
@@ -65,6 +65,8 @@ namespace MediaBrowser.Model.Configuration
public string[] BlockedMediaFolders { get; set; }
public string[] BlockedChannels { get; set; }
+ public string[] ExcludeFoldersFromGrouping { get; set; }
+
public UnratedItem[] BlockUnratedItems { get; set; }
public SubtitlePlaybackMode SubtitleMode { get; set; }
@@ -81,11 +83,12 @@ namespace MediaBrowser.Model.Configuration
EnableLiveTvManagement = true;
EnableMediaPlayback = true;
EnableLiveTvAccess = true;
- GroupMoviesIntoBoxSets = true;
BlockedMediaFolders = new string[] { };
BlockedChannels = new string[] { };
BlockUnratedItems = new UnratedItem[] { };
+
+ ExcludeFoldersFromGrouping = new string[] { };
}
}
diff --git a/MediaBrowser.Model/Dlna/CodecProfile.cs b/MediaBrowser.Model/Dlna/CodecProfile.cs
index 3e67b49f91..c2d36dc792 100644
--- a/MediaBrowser.Model/Dlna/CodecProfile.cs
+++ b/MediaBrowser.Model/Dlna/CodecProfile.cs
@@ -1,6 +1,5 @@
-using System;
+using MediaBrowser.Model.Extensions;
using System.Collections.Generic;
-using System.Linq;
using System.Xml.Serialization;
namespace MediaBrowser.Model.Dlna
@@ -34,7 +33,7 @@ namespace MediaBrowser.Model.Dlna
{
List<string> codecs = GetCodecs();
- return codecs.Count == 0 || codecs.Contains(codec, StringComparer.OrdinalIgnoreCase);
+ return codecs.Count == 0 || ListHelper.ContainsIgnoreCase(codecs, codec);
}
}
}
diff --git a/MediaBrowser.Model/Dlna/DeviceProfile.cs b/MediaBrowser.Model/Dlna/DeviceProfile.cs
index 2ed483fa10..3cb3b383eb 100644
--- a/MediaBrowser.Model/Dlna/DeviceProfile.cs
+++ b/MediaBrowser.Model/Dlna/DeviceProfile.cs
@@ -131,7 +131,7 @@ namespace MediaBrowser.Model.Dlna
continue;
}
- if (!i.GetAudioCodecs().Contains(audioCodec ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ if (!ListHelper.ContainsIgnoreCase(i.GetAudioCodecs(), audioCodec ?? string.Empty))
{
continue;
}
@@ -184,13 +184,13 @@ namespace MediaBrowser.Model.Dlna
}
List<string> containers = i.GetContainers();
- if (containers.Count > 0 && !containers.Contains(container, StringComparer.OrdinalIgnoreCase))
+ if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container))
{
continue;
}
List<string> audioCodecs = i.GetAudioCodecs();
- if (audioCodecs.Count > 0 && !audioCodecs.Contains(audioCodec ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ if (audioCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(audioCodecs, audioCodec))
{
continue;
}
@@ -229,7 +229,7 @@ namespace MediaBrowser.Model.Dlna
}
List<string> containers = i.GetContainers();
- if (containers.Count > 0 && !containers.Contains(container, StringComparer.OrdinalIgnoreCase))
+ if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container))
{
continue;
}
@@ -281,19 +281,19 @@ namespace MediaBrowser.Model.Dlna
}
List<string> containers = i.GetContainers();
- if (containers.Count > 0 && !containers.Contains(container, StringComparer.OrdinalIgnoreCase))
+ if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container))
{
continue;
}
List<string> audioCodecs = i.GetAudioCodecs();
- if (audioCodecs.Count > 0 && !audioCodecs.Contains(audioCodec ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ if (audioCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(audioCodecs, audioCodec))
{
continue;
}
List<string> videoCodecs = i.GetVideoCodecs();
- if (videoCodecs.Count > 0 && !videoCodecs.Contains(videoCodec ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ if (videoCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(videoCodecs, videoCodec))
{
continue;
}
diff --git a/MediaBrowser.Model/Dlna/Filter.cs b/MediaBrowser.Model/Dlna/Filter.cs
index d92f881ce3..b827a4a228 100644
--- a/MediaBrowser.Model/Dlna/Filter.cs
+++ b/MediaBrowser.Model/Dlna/Filter.cs
@@ -1,7 +1,6 @@
-using System;
+using MediaBrowser.Model.Extensions;
+using System;
using System.Collections.Generic;
-using System.Linq;
-using MediaBrowser.Model.Extensions;
namespace MediaBrowser.Model.Dlna
{
@@ -28,7 +27,7 @@ namespace MediaBrowser.Model.Dlna
public bool Contains(string field)
{
- return _all || _fields.Contains(field, StringComparer.OrdinalIgnoreCase);
+ return _all || ListHelper.ContainsIgnoreCase(_fields, field);
}
}
}
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index 7472d4eafb..4f7f6277ed 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs
@@ -4,7 +4,6 @@ using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.MediaInfo;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace MediaBrowser.Model.Dlna
{
@@ -354,7 +353,7 @@ namespace MediaBrowser.Model.Dlna
foreach (ContainerProfile i in profile.ContainerProfiles)
{
if (i.Type == DlnaProfileType.Video &&
- i.GetContainers().Contains(container, StringComparer.OrdinalIgnoreCase))
+ ListHelper.ContainsIgnoreCase(i.GetContainers(), container))
{
conditions.AddRange(i.Conditions);
}
@@ -639,7 +638,7 @@ namespace MediaBrowser.Model.Dlna
if (videoCodecs.Count > 0)
{
string videoCodec = videoStream == null ? null : videoStream.Codec;
- if (string.IsNullOrEmpty(videoCodec) || !videoCodecs.Contains(videoCodec, StringComparer.OrdinalIgnoreCase))
+ if (string.IsNullOrEmpty(videoCodec) || !ListHelper.ContainsIgnoreCase(videoCodecs, videoCodec))
{
return false;
}
@@ -650,7 +649,7 @@ namespace MediaBrowser.Model.Dlna
{
// Check audio codecs
string audioCodec = audioStream == null ? null : audioStream.Codec;
- if (string.IsNullOrEmpty(audioCodec) || !audioCodecs.Contains(audioCodec, StringComparer.OrdinalIgnoreCase))
+ if (string.IsNullOrEmpty(audioCodec) || !ListHelper.ContainsIgnoreCase(audioCodecs, audioCodec))
{
return false;
}
diff --git a/MediaBrowser.Model/Entities/CollectionType.cs b/MediaBrowser.Model/Entities/CollectionType.cs
index 87cb336d99..eab5cb3208 100644
--- a/MediaBrowser.Model/Entities/CollectionType.cs
+++ b/MediaBrowser.Model/Entities/CollectionType.cs
@@ -20,5 +20,7 @@ namespace MediaBrowser.Model.Entities
public const string AdultVideos = "adultvideos";
public const string Books = "books";
+ public const string Photos = "photos";
+ public const string Games = "games";
}
}
diff --git a/MediaBrowser.Model/Extensions/ListHelper.cs b/MediaBrowser.Model/Extensions/ListHelper.cs
new file mode 100644
index 0000000000..bfab14b20c
--- /dev/null
+++ b/MediaBrowser.Model/Extensions/ListHelper.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace MediaBrowser.Model.Extensions
+{
+ public static class ListHelper
+ {
+ public static bool ContainsIgnoreCase(List<string> list, string value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+
+ return list.Contains(value, StringComparer.OrdinalIgnoreCase);
+ }
+ }
+}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 6b8605b7a1..0441f91ea6 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -147,6 +147,7 @@
<Compile Include="Events\GenericEventArgs.cs" />
<Compile Include="Extensions\DoubleHelper.cs" />
<Compile Include="Extensions\IntHelper.cs" />
+ <Compile Include="Extensions\ListHelper.cs" />
<Compile Include="Extensions\StringHelper.cs" />
<Compile Include="FileOrganization\EpisodeFileOrganizationRequest.cs" />
<Compile Include="FileOrganization\FileOrganizationResult.cs" />