diff options
| author | 7illusions <z@7illusions.com> | 2014-08-30 19:06:58 +0200 |
|---|---|---|
| committer | 7illusions <z@7illusions.com> | 2014-08-30 19:06:58 +0200 |
| commit | 66ad1699e22029b605e17735e8d9450285d8748a (patch) | |
| tree | ffc92c88d24850b2f82b6b3a8bdd904a2ccc77a5 /MediaBrowser.Model/Configuration | |
| parent | 34bc54263e886aae777a3537dc50a6535b51330a (diff) | |
| parent | 9d36f518182bc075c19d78084870f5115fa62d1e (diff) | |
Merge pull request #1 from MediaBrowser/master
Update to latest
Diffstat (limited to 'MediaBrowser.Model/Configuration')
13 files changed, 166 insertions, 401 deletions
diff --git a/MediaBrowser.Model/Configuration/ChannelOptions.cs b/MediaBrowser.Model/Configuration/ChannelOptions.cs new file mode 100644 index 0000000000..26fb1c9bdd --- /dev/null +++ b/MediaBrowser.Model/Configuration/ChannelOptions.cs @@ -0,0 +1,21 @@ +namespace MediaBrowser.Model.Configuration +{ + public class ChannelOptions + { + public int? PreferredStreamingWidth { get; set; } + + public string DownloadPath { get; set; } + public int? MaxDownloadAge { get; set; } + + public string[] DownloadingChannels { get; set; } + + public double? DownloadSizeLimit { get; set; } + + public ChannelOptions() + { + DownloadingChannels = new string[] { }; + DownloadSizeLimit = 1; + MaxDownloadAge = 30; + } + } +}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/ChapterOptions.cs b/MediaBrowser.Model/Configuration/ChapterOptions.cs new file mode 100644 index 0000000000..2e882ee611 --- /dev/null +++ b/MediaBrowser.Model/Configuration/ChapterOptions.cs @@ -0,0 +1,23 @@ +namespace MediaBrowser.Model.Configuration +{ + public class ChapterOptions + { + public bool EnableMovieChapterImageExtraction { get; set; } + public bool EnableEpisodeChapterImageExtraction { get; set; } + public bool EnableOtherVideoChapterImageExtraction { get; set; } + + public bool DownloadMovieChapters { get; set; } + public bool DownloadEpisodeChapters { get; set; } + + public string[] FetcherOrder { get; set; } + public string[] DisabledFetchers { get; set; } + + public ChapterOptions() + { + DownloadMovieChapters = true; + + DisabledFetchers = new string[] { }; + FetcherOrder = new string[] { }; + } + } +}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/LiveTvOptions.cs b/MediaBrowser.Model/Configuration/LiveTvOptions.cs deleted file mode 100644 index 575f0b8637..0000000000 --- a/MediaBrowser.Model/Configuration/LiveTvOptions.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace MediaBrowser.Model.Configuration -{ - public class LiveTvOptions - { - public int? GuideDays { get; set; } - public string ActiveService { get; set; } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/NotificationOption.cs b/MediaBrowser.Model/Configuration/NotificationOption.cs deleted file mode 100644 index 5fcf3550c9..0000000000 --- a/MediaBrowser.Model/Configuration/NotificationOption.cs +++ /dev/null @@ -1,54 +0,0 @@ -namespace MediaBrowser.Model.Configuration -{ - public class NotificationOption - { - public string Type { get; set; } - - /// <summary> - /// User Ids to not monitor (it's opt out) - /// </summary> - public string[] DisabledMonitorUsers { get; set; } - - /// <summary> - /// User Ids to send to (if SendToUserMode == Custom) - /// </summary> - public string[] SendToUsers { get; set; } - - /// <summary> - /// Gets or sets a value indicating whether this <see cref="NotificationOption"/> is enabled. - /// </summary> - /// <value><c>true</c> if enabled; otherwise, <c>false</c>.</value> - public bool Enabled { get; set; } - - /// <summary> - /// Gets or sets the title format string. - /// </summary> - /// <value>The title format string.</value> - public string Title { get; set; } - - /// <summary> - /// Gets or sets the description. - /// </summary> - /// <value>The description.</value> - public string Description { get; set; } - - /// <summary> - /// Gets or sets the disabled services. - /// </summary> - /// <value>The disabled services.</value> - public string[] DisabledServices { get; set; } - - /// <summary> - /// Gets or sets the send to user mode. - /// </summary> - /// <value>The send to user mode.</value> - public SendToUserType SendToUserMode { get; set; } - - public NotificationOption() - { - DisabledServices = new string[] { }; - DisabledMonitorUsers = new string[] { }; - SendToUsers = new string[] { }; - } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/NotificationOptions.cs b/MediaBrowser.Model/Configuration/NotificationOptions.cs deleted file mode 100644 index 5aac1652fc..0000000000 --- a/MediaBrowser.Model/Configuration/NotificationOptions.cs +++ /dev/null @@ -1,126 +0,0 @@ -using System; -using System.Linq; -using MediaBrowser.Model.Extensions; - -namespace MediaBrowser.Model.Configuration -{ - public class NotificationOptions - { - public NotificationOption[] Options { get; set; } - - public NotificationOptions() - { - Options = new[] - { - new NotificationOption - { - Type = NotificationType.TaskFailed.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.ServerRestartRequired.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.ApplicationUpdateAvailable.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.ApplicationUpdateInstalled.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.PluginUpdateInstalled.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.PluginUninstalled.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.InstallationFailed.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.PluginInstalled.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - }, - new NotificationOption - { - Type = NotificationType.PluginError.ToString(), - Enabled = true, - SendToUserMode = SendToUserType.Admins - } - }; - } - - public NotificationOption GetOptions(string type) - { - foreach (NotificationOption i in Options) - { - if (StringHelper.EqualsIgnoreCase(type, i.Type)) return i; - } - return null; - } - - public bool IsEnabled(string type) - { - NotificationOption opt = GetOptions(type); - - return opt != null && opt.Enabled; - } - - public bool IsServiceEnabled(string service, string notificationType) - { - NotificationOption opt = GetOptions(notificationType); - - return opt == null || - !opt.DisabledServices.Contains(service, StringComparer.OrdinalIgnoreCase); - } - - public bool IsEnabledToMonitorUser(string type, string userId) - { - NotificationOption opt = GetOptions(type); - - return opt != null && opt.Enabled && - !opt.DisabledMonitorUsers.Contains(userId, StringComparer.OrdinalIgnoreCase); - } - - public bool IsEnabledToSendToUser(string type, string userId, UserConfiguration userConfig) - { - NotificationOption opt = GetOptions(type); - - if (opt != null && opt.Enabled) - { - if (opt.SendToUserMode == SendToUserType.All) - { - return true; - } - - if (opt.SendToUserMode == SendToUserType.Admins && userConfig.IsAdministrator) - { - return true; - } - - return opt.SendToUsers.Contains(userId, StringComparer.OrdinalIgnoreCase); - } - - return false; - } - } -} diff --git a/MediaBrowser.Model/Configuration/NotificationType.cs b/MediaBrowser.Model/Configuration/NotificationType.cs deleted file mode 100644 index d8043b0e14..0000000000 --- a/MediaBrowser.Model/Configuration/NotificationType.cs +++ /dev/null @@ -1,23 +0,0 @@ -namespace MediaBrowser.Model.Configuration -{ - public enum NotificationType - { - ApplicationUpdateAvailable, - ApplicationUpdateInstalled, - AudioPlayback, - GamePlayback, - VideoPlayback, - AudioPlaybackStopped, - GamePlaybackStopped, - VideoPlaybackStopped, - InstallationFailed, - PluginError, - PluginInstalled, - PluginUpdateInstalled, - PluginUninstalled, - NewLibraryContent, - NewLibraryContentMultiple, - ServerRestartRequired, - TaskFailed - } -}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/SendToUserType.cs b/MediaBrowser.Model/Configuration/SendToUserType.cs deleted file mode 100644 index a2eac4c2d9..0000000000 --- a/MediaBrowser.Model/Configuration/SendToUserType.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace MediaBrowser.Model.Configuration -{ - public enum SendToUserType - { - All = 0, - Admins = 1, - Custom = 2 - } -}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 0d728ec75e..1572c50dcc 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -1,6 +1,8 @@ -using MediaBrowser.Model.Weather; -using System; -using System.Collections.Generic; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.FileOrganization; +using MediaBrowser.Model.LiveTv; +using MediaBrowser.Model.Notifications; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Model.Configuration { @@ -10,24 +12,6 @@ namespace MediaBrowser.Model.Configuration public class ServerConfiguration : BaseApplicationConfiguration { /// <summary> - /// Gets or sets the zip code to use when displaying weather - /// </summary> - /// <value>The weather location.</value> - public string WeatherLocation { get; set; } - - /// <summary> - /// Gets or sets the weather unit to use when displaying weather - /// </summary> - /// <value>The weather unit.</value> - public WeatherUnits WeatherUnit { get; set; } - - /// <summary> - /// Gets or sets a value indicating whether [enable HTTP level logging]. - /// </summary> - /// <value><c>true</c> if [enable HTTP level logging]; otherwise, <c>false</c>.</value> - public bool EnableHttpLevelLogging { get; set; } - - /// <summary> /// Gets or sets a value indicating whether [enable u pn p]. /// </summary> /// <value><c>true</c> if [enable u pn p]; otherwise, <c>false</c>.</value> @@ -40,12 +24,6 @@ namespace MediaBrowser.Model.Configuration public int HttpServerPortNumber { get; set; } /// <summary> - /// Gets or sets the legacy web socket port number. - /// </summary> - /// <value>The legacy web socket port number.</value> - public int LegacyWebSocketPortNumber { get; set; } - - /// <summary> /// Gets or sets a value indicating whether [enable internet providers]. /// </summary> /// <value><c>true</c> if [enable internet providers]; otherwise, <c>false</c>.</value> @@ -70,24 +48,12 @@ namespace MediaBrowser.Model.Configuration public string SeasonZeroDisplayName { get; set; } /// <summary> - /// Gets or sets the metadata refresh days. - /// </summary> - /// <value>The metadata refresh days.</value> - public int MetadataRefreshDays { get; set; } - - /// <summary> /// Gets or sets a value indicating whether [save local meta]. /// </summary> /// <value><c>true</c> if [save local meta]; otherwise, <c>false</c>.</value> public bool SaveLocalMeta { get; set; } /// <summary> - /// Gets or sets a value indicating whether [refresh item images]. - /// </summary> - /// <value><c>true</c> if [refresh item images]; otherwise, <c>false</c>.</value> - public bool RefreshItemImages { get; set; } - - /// <summary> /// Gets or sets the preferred metadata language. /// </summary> /// <value>The preferred metadata language.</value> @@ -170,9 +136,6 @@ namespace MediaBrowser.Model.Configuration public bool EnableTmdbUpdates { get; set; } public bool EnableFanArtUpdates { get; set; } - public bool RequireMobileManualLogin { get; set; } - public bool RequireNonMobileManualLogin { get; set; } - /// <summary> /// Gets or sets the image saving convention. /// </summary> @@ -191,8 +154,6 @@ namespace MediaBrowser.Model.Configuration /// <value>The encoding quality.</value> public EncodingQuality MediaEncodingQuality { get; set; } - public bool AllowVideoUpscaling { get; set; } - public MetadataOptions[] MetadataOptions { get; set; } public bool EnableDebugEncodingLogging { get; set; } @@ -215,15 +176,10 @@ namespace MediaBrowser.Model.Configuration public double DownMixAudioBoost { get; set; } - public NotificationOptions NotificationOptions { get; set; } - - public SubtitleOptions SubtitleOptions { get; set; } + public bool DefaultMetadataSettingsApplied { get; set; } - [Obsolete] - public string[] ManualLoginClients { get; set; } - - public ChannelOptions ChannelOptions { get; set; } - public ChapterOptions ChapterOptions { get; set; } + public bool EnableTokenAuthentication { get; set; } + public PeopleMetadataOptions PeopleMetadataOptions { get; set; } /// <summary> /// Initializes a new instance of the <see cref="ServerConfiguration" /> class. @@ -234,8 +190,6 @@ namespace MediaBrowser.Model.Configuration MediaEncodingQuality = EncodingQuality.Auto; ImageSavingConvention = ImageSavingConvention.Compatible; HttpServerPortNumber = 8096; - LegacyWebSocketPortNumber = 8945; - EnableHttpLevelLogging = true; EnableDashboardResponseCaching = true; EnableAutomaticRestart = true; @@ -256,7 +210,6 @@ namespace MediaBrowser.Model.Configuration PathSubstitutions = new PathSubstitution[] { }; - MetadataRefreshDays = 30; PreferredMetadataLanguage = "en"; MetadataCountryCode = "US"; @@ -264,77 +217,88 @@ namespace MediaBrowser.Model.Configuration SortRemoveCharacters = new[] { ",", "&", "-", "{", "}", "'" }; SortRemoveWords = new[] { "the", "a", "an" }; - ManualLoginClients = new string[] { }; - SeasonZeroDisplayName = "Specials"; - LiveTvOptions = new LiveTvOptions(); - - TvFileOrganizationOptions = new TvFileOrganizationOptions(); - EnableRealtimeMonitor = true; - List<MetadataOptions> options = new List<MetadataOptions> - { - new MetadataOptions(1, 1280) {ItemType = "Book"}, - new MetadataOptions(1, 1280) {ItemType = "MusicAlbum"}, - new MetadataOptions(1, 1280) {ItemType = "MusicArtist"}, - new MetadataOptions(0, 1280) {ItemType = "Season"} - }; - - MetadataOptions = options.ToArray(); - - DlnaOptions = new DlnaOptions(); - UICulture = "en-us"; - NotificationOptions = new NotificationOptions(); - - SubtitleOptions = new SubtitleOptions(); - - ChannelOptions = new ChannelOptions(); - ChapterOptions = new ChapterOptions(); - } - } - - public class ChannelOptions - { - public int? PreferredStreamingWidth { get; set; } + PeopleMetadataOptions = new PeopleMetadataOptions(); - public string DownloadPath { get; set; } - public int? MaxDownloadAge { get; set; } + MetadataOptions = new[] + { + new MetadataOptions(1, 1280) {ItemType = "Book"}, - public string[] DownloadingChannels { get; set; } + new MetadataOptions(1, 1280) + { + ItemType = "MusicAlbum", + ImageOptions = new [] + { + new ImageOption + { + Limit = 1, + MinWidth = 1280, + Type = ImageType.Backdrop + }, + + // Don't download this by default as it's rarely used. + new ImageOption + { + Limit = 0, + Type = ImageType.Disc + } + } + }, + + new MetadataOptions(1, 1280) + { + ItemType = "MusicArtist", + ImageOptions = new [] + { + new ImageOption + { + Limit = 1, + MinWidth = 1280, + Type = ImageType.Backdrop + }, + + // Don't download this by default + // They do look great, but most artists won't have them, which means a banner view isn't really possible + new ImageOption + { + Limit = 0, + Type = ImageType.Banner + }, + + // Don't download this by default + // Generally not used + new ImageOption + { + Limit = 0, + Type = ImageType.Art + } + } + }, - public ChannelOptions() - { - DownloadingChannels = new string[] { }; - MaxDownloadAge = 30; + new MetadataOptions(0, 1280) {ItemType = "Season"} + }; } } - public class ChapterOptions + public class PeopleMetadataOptions { - public bool EnableMovieChapterImageExtraction { get; set; } - public bool EnableEpisodeChapterImageExtraction { get; set; } - public bool EnableOtherVideoChapterImageExtraction { get; set; } - - public bool DownloadMovieChapters { get; set; } - public bool DownloadEpisodeChapters { get; set; } - - public string[] FetcherOrder { get; set; } - public string[] DisabledFetchers { get; set; } - - public ChapterOptions() + public bool DownloadActorMetadata { get; set; } + public bool DownloadDirectorMetadata { get; set; } + public bool DownloadProducerMetadata { get; set; } + public bool DownloadWriterMetadata { get; set; } + public bool DownloadComposerMetadata { get; set; } + public bool DownloadOtherPeopleMetadata { get; set; } + public bool DownloadGuestStarMetadata { get; set; } + + public PeopleMetadataOptions() { - EnableMovieChapterImageExtraction = true; - EnableEpisodeChapterImageExtraction = false; - EnableOtherVideoChapterImageExtraction = false; - - DownloadMovieChapters = true; - - DisabledFetchers = new string[] { }; - FetcherOrder = new string[] { }; + DownloadActorMetadata = true; + DownloadDirectorMetadata = true; } } } diff --git a/MediaBrowser.Model/Configuration/SubtitleOptions.cs b/MediaBrowser.Model/Configuration/SubtitleOptions.cs deleted file mode 100644 index 96e04e5115..0000000000 --- a/MediaBrowser.Model/Configuration/SubtitleOptions.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace MediaBrowser.Model.Configuration -{ - public class SubtitleOptions - { - public bool SkipIfGraphicalSubtitlesPresent { get; set; } - public bool SkipIfAudioTrackMatches { get; set; } - public string[] DownloadLanguages { get; set; } - public bool DownloadMovieSubtitles { get; set; } - public bool DownloadEpisodeSubtitles { get; set; } - - public string OpenSubtitlesUsername { get; set; } - public string OpenSubtitlesPasswordHash { get; set; } - - public SubtitleOptions() - { - DownloadLanguages = new string[] { }; - - SkipIfAudioTrackMatches = true; - } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/SubtitlePlaybackMode.cs b/MediaBrowser.Model/Configuration/SubtitlePlaybackMode.cs new file mode 100644 index 0000000000..e6a3c3091e --- /dev/null +++ b/MediaBrowser.Model/Configuration/SubtitlePlaybackMode.cs @@ -0,0 +1,10 @@ +namespace MediaBrowser.Model.Configuration +{ + public enum SubtitlePlaybackMode + { + Default = 0, + Always = 1, + OnlyForced = 2, + None = 3 + } +}
\ No newline at end of file diff --git a/MediaBrowser.Model/Configuration/TvFileOrganizationOptions.cs b/MediaBrowser.Model/Configuration/TvFileOrganizationOptions.cs deleted file mode 100644 index fe32d4a80a..0000000000 --- a/MediaBrowser.Model/Configuration/TvFileOrganizationOptions.cs +++ /dev/null @@ -1,40 +0,0 @@ - -namespace MediaBrowser.Model.Configuration -{ - public class TvFileOrganizationOptions - { - public bool IsEnabled { get; set; } - public int MinFileSizeMb { get; set; } - public string[] LeftOverFileExtensionsToDelete { get; set; } - public string[] WatchLocations { get; set; } - - public string SeasonFolderPattern { get; set; } - - public string SeasonZeroFolderName { get; set; } - - public string EpisodeNamePattern { get; set; } - public string MultiEpisodeNamePattern { get; set; } - - public bool OverwriteExistingEpisodes { get; set; } - - public bool DeleteEmptyFolders { get; set; } - - public bool CopyOriginalFile { get; set; } - - public TvFileOrganizationOptions() - { - MinFileSizeMb = 50; - - LeftOverFileExtensionsToDelete = new string[] { }; - - WatchLocations = new string[] { }; - - EpisodeNamePattern = "%sn - %sx%0e - %en.%ext"; - MultiEpisodeNamePattern = "%sn - %sx%0e-x%0ed - %en.%ext"; - SeasonFolderPattern = "Season %s"; - SeasonZeroFolderName = "Season 0"; - - CopyOriginalFile = false; - } - } -} diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs index 885172bed7..b48018c9a2 100644 --- a/MediaBrowser.Model/Configuration/UserConfiguration.cs +++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs @@ -65,12 +65,20 @@ namespace MediaBrowser.Model.Configuration public string[] BlockedMediaFolders { get; set; } public string[] BlockedChannels { get; set; } + public string[] DisplayChannelsWithinViews { get; set; } + public string[] ExcludeFoldersFromGrouping { get; set; } public UnratedItem[] BlockUnratedItems { get; set; } public SubtitlePlaybackMode SubtitleMode { get; set; } + public bool DisplayCollectionsView { get; set; } + public bool DisplayFoldersView { get; set; } + public bool EnableLocalPassword { get; set; } + + public string[] OrderedViews { get; set; } + /// <summary> /// Initializes a new instance of the <see cref="UserConfiguration" /> class. /// </summary> @@ -84,19 +92,15 @@ namespace MediaBrowser.Model.Configuration EnableMediaPlayback = true; EnableLiveTvAccess = true; + OrderedViews = new string[] { }; BlockedMediaFolders = new string[] { }; + DisplayChannelsWithinViews = new string[] { }; BlockedChannels = new string[] { }; BlockUnratedItems = new UnratedItem[] { }; ExcludeFoldersFromGrouping = new string[] { }; + DisplayCollectionsView = true; + DisplayFoldersView = true; } } - - public enum SubtitlePlaybackMode - { - Default = 0, - Always = 1, - OnlyForced = 2, - None = 3 - } } diff --git a/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs b/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs new file mode 100644 index 0000000000..86eb40b975 --- /dev/null +++ b/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs @@ -0,0 +1,24 @@ + +namespace MediaBrowser.Model.Configuration +{ + public class XbmcMetadataOptions + { + public string UserId { get; set; } + + public string ReleaseDateFormat { get; set; } + + public bool SaveImagePathsInNfo { get; set; } + public bool EnablePathSubstitution { get; set; } + + public bool EnableExtraThumbsDuplication { get; set; } + + public XbmcMetadataOptions() + { + ReleaseDateFormat = "yyyy-MM-dd"; + + SaveImagePathsInNfo = true; + EnablePathSubstitution = true; + EnableExtraThumbsDuplication = true; + } + } +} |
