aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-11-01 15:50:16 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-11-01 15:50:16 -0400
commit0a0303ca64e346f0e939f1fe275334f752728c15 (patch)
tree5a796a540b280ff8e3f6e7b7708f203e0a430d60
parent5fa007d04eff4a280a3f549de869339cccdb0d52 (diff)
normalize strm file contents
-rw-r--r--Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs67
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs3
-rw-r--r--Emby.Server.Implementations/Library/LibraryManager.cs2
-rw-r--r--Emby.Server.Implementations/Localization/LocalizationManager.cs13
-rw-r--r--MediaBrowser.Api/ConfigurationService.cs2
-rw-r--r--MediaBrowser.Api/StartupWizardService.cs12
-rw-r--r--MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs6
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs3
-rw-r--r--MediaBrowser.Model/Dlna/PlaybackException.cs9
-rw-r--r--MediaBrowser.Model/Globalization/ILocalizationManager.cs3
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj1
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs6
12 files changed, 64 insertions, 63 deletions
diff --git a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
index 4d9bf0624..607e896b8 100644
--- a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
+++ b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
@@ -195,52 +195,55 @@ namespace Emby.Server.Implementations.Configuration
}
}
- public void DisableMetadataService(string service)
+ public bool SetOptimalValues()
{
- DisableMetadataService(typeof(Movie), Configuration, service);
- DisableMetadataService(typeof(Episode), Configuration, service);
- DisableMetadataService(typeof(Series), Configuration, service);
- DisableMetadataService(typeof(Season), Configuration, service);
- DisableMetadataService(typeof(MusicArtist), Configuration, service);
- DisableMetadataService(typeof(MusicAlbum), Configuration, service);
- DisableMetadataService(typeof(MusicVideo), Configuration, service);
- DisableMetadataService(typeof(Video), Configuration, service);
- }
+ var config = Configuration;
- private void DisableMetadataService(Type type, ServerConfiguration config, string service)
- {
- var options = GetMetadataOptions(type, config);
+ var changed = false;
- if (!options.DisabledMetadataSavers.Contains(service, StringComparer.OrdinalIgnoreCase))
+ if (!config.EnableCaseSensitiveItemIds)
{
- var list = options.DisabledMetadataSavers.ToList();
-
- list.Add(service);
+ config.EnableCaseSensitiveItemIds = true;
+ changed = true;
+ }
- options.DisabledMetadataSavers = list.ToArray(list.Count);
+ if (!config.SkipDeserializationForBasicTypes)
+ {
+ config.SkipDeserializationForBasicTypes = true;
+ changed = true;
}
- }
- private MetadataOptions GetMetadataOptions(Type type, ServerConfiguration config)
- {
- var options = config.MetadataOptions
- .FirstOrDefault(i => string.Equals(i.ItemType, type.Name, StringComparison.OrdinalIgnoreCase));
+ if (!config.EnableSimpleArtistDetection)
+ {
+ config.EnableSimpleArtistDetection = true;
+ changed = true;
+ }
- if (options == null)
+ if (!config.EnableNormalizedItemByNameIds)
{
- var list = config.MetadataOptions.ToList();
+ config.EnableNormalizedItemByNameIds = true;
+ changed = true;
+ }
- options = new MetadataOptions
- {
- ItemType = type.Name
- };
+ if (!config.DisableLiveTvChannelUserDataName)
+ {
+ config.DisableLiveTvChannelUserDataName = true;
+ changed = true;
+ }
- list.Add(options);
+ if (!config.EnableNewOmdbSupport)
+ {
+ config.EnableNewOmdbSupport = true;
+ changed = true;
+ }
- config.MetadataOptions = list.ToArray(list.Count);
+ if (!config.EnableLocalizedGuids)
+ {
+ config.EnableLocalizedGuids = true;
+ changed = true;
}
- return options;
+ return changed;
}
}
}
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index 01416a307..eb0f5150f 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -5298,7 +5298,8 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
OfficialRatings = query.OfficialRatings,
GenreIds = query.GenreIds,
Genres = query.Genres,
- Years = query.Years
+ Years = query.Years,
+ NameContains = query.NameContains
};
var outerWhereClauses = GetWhereClauses(outerQuery, null);
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs
index bd8a09550..cac1cb3b4 100644
--- a/Emby.Server.Implementations/Library/LibraryManager.cs
+++ b/Emby.Server.Implementations/Library/LibraryManager.cs
@@ -506,7 +506,7 @@ namespace Emby.Server.Implementations.Library
throw new ArgumentNullException("type");
}
- if (key.StartsWith(ConfigurationManager.ApplicationPaths.ProgramDataPath))
+ if (ConfigurationManager.Configuration.EnableLocalizedGuids && key.StartsWith(ConfigurationManager.ApplicationPaths.ProgramDataPath))
{
// Try to normalize paths located underneath program-data in an attempt to make them more portable
key = key.Substring(ConfigurationManager.ApplicationPaths.ProgramDataPath.Length)
diff --git a/Emby.Server.Implementations/Localization/LocalizationManager.cs b/Emby.Server.Implementations/Localization/LocalizationManager.cs
index 650f388a1..2eb4743cd 100644
--- a/Emby.Server.Implementations/Localization/LocalizationManager.cs
+++ b/Emby.Server.Implementations/Localization/LocalizationManager.cs
@@ -308,6 +308,19 @@ namespace Emby.Server.Implementations.Localization
return value == null ? (int?)null : value.Value;
}
+ public bool HasUnicodeCategory(string value, UnicodeCategory category)
+ {
+ foreach (var chr in value)
+ {
+ if (char.GetUnicodeCategory(chr) == category)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
public string GetLocalizedString(string phrase)
{
return GetLocalizedString(phrase, _configurationManager.Configuration.UICulture);
diff --git a/MediaBrowser.Api/ConfigurationService.cs b/MediaBrowser.Api/ConfigurationService.cs
index 643ecd9c8..0023c13d7 100644
--- a/MediaBrowser.Api/ConfigurationService.cs
+++ b/MediaBrowser.Api/ConfigurationService.cs
@@ -134,8 +134,6 @@ namespace MediaBrowser.Api
public void Post(AutoSetMetadataOptions request)
{
- _configurationManager.DisableMetadataService("Emby Xml");
- _configurationManager.SaveConfiguration();
}
/// <summary>
diff --git a/MediaBrowser.Api/StartupWizardService.cs b/MediaBrowser.Api/StartupWizardService.cs
index 1ccb68320..1b185b073 100644
--- a/MediaBrowser.Api/StartupWizardService.cs
+++ b/MediaBrowser.Api/StartupWizardService.cs
@@ -63,7 +63,7 @@ namespace MediaBrowser.Api
public void Post(ReportStartupWizardComplete request)
{
_config.Configuration.IsStartupWizardCompleted = true;
- SetWizardFinishValues(_config.Configuration);
+ _config.SetOptimalValues();
_config.SaveConfiguration();
}
@@ -87,16 +87,6 @@ namespace MediaBrowser.Api
return result;
}
- private void SetWizardFinishValues(ServerConfiguration config)
- {
- config.EnableCaseSensitiveItemIds = true;
- config.SkipDeserializationForBasicTypes = true;
- config.EnableSimpleArtistDetection = true;
- config.EnableNormalizedItemByNameIds = true;
- config.DisableLiveTvChannelUserDataName = true;
- config.EnableNewOmdbSupport = true;
- }
-
public void Post(UpdateStartupConfiguration request)
{
_config.Configuration.UICulture = request.UICulture;
diff --git a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
index 13c9f8d84..af5714932 100644
--- a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
+++ b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs
@@ -20,10 +20,6 @@ namespace MediaBrowser.Controller.Configuration
/// <value>The configuration.</value>
ServerConfiguration Configuration { get; }
- /// <summary>
- /// Sets the preferred metadata service.
- /// </summary>
- /// <param name="service">The service.</param>
- void DisableMetadataService(string service);
+ bool SetOptimalValues();
}
}
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index f2c3b7cc8..9b800bbc9 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -189,6 +189,8 @@ namespace MediaBrowser.Model.Configuration
public PathSubstitution[] PathSubstitutions { get; set; }
public bool EnableSimpleArtistDetection { get; set; }
+ public bool EnableLocalizedGuids { get; set; }
+
/// <summary>
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
/// </summary>
@@ -200,6 +202,7 @@ namespace MediaBrowser.Model.Configuration
PathSubstitutions = new PathSubstitution[] { };
EnableSimpleArtistDetection = true;
+ EnableLocalizedGuids = true;
DisplaySpecialsWithinSeasons = true;
EnableExternalContentInSuggestions = true;
diff --git a/MediaBrowser.Model/Dlna/PlaybackException.cs b/MediaBrowser.Model/Dlna/PlaybackException.cs
deleted file mode 100644
index 761fa1c90..000000000
--- a/MediaBrowser.Model/Dlna/PlaybackException.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System;
-
-namespace MediaBrowser.Model.Dlna
-{
- public class PlaybackException : Exception
- {
- public PlaybackErrorCode ErrorCode { get; set;}
- }
-}
diff --git a/MediaBrowser.Model/Globalization/ILocalizationManager.cs b/MediaBrowser.Model/Globalization/ILocalizationManager.cs
index 2356a2fa1..61f0ebfd3 100644
--- a/MediaBrowser.Model/Globalization/ILocalizationManager.cs
+++ b/MediaBrowser.Model/Globalization/ILocalizationManager.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using MediaBrowser.Model.Entities;
+using System.Globalization;
namespace MediaBrowser.Model.Globalization
{
@@ -54,5 +55,7 @@ namespace MediaBrowser.Model.Globalization
string RemoveDiacritics(string text);
string NormalizeFormKD(string text);
+
+ bool HasUnicodeCategory(string value, UnicodeCategory category);
}
}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index b36a773eb..dd9b7ff75 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -98,7 +98,6 @@
<Compile Include="Dlna\ResponseProfile.cs" />
<Compile Include="Dlna\StreamInfoSorter.cs" />
<Compile Include="Dlna\PlaybackErrorCode.cs" />
- <Compile Include="Dlna\PlaybackException.cs" />
<Compile Include="Dlna\ResolutionConfiguration.cs" />
<Compile Include="Dlna\ResolutionNormalizer.cs" />
<Compile Include="Dlna\ResolutionOptions.cs" />
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
index bce421901..e79aec33c 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
@@ -163,7 +163,11 @@ namespace MediaBrowser.Providers.MediaInfo
private void FetchShortcutInfo(Video video)
{
- video.ShortcutPath = _fileSystem.ReadAllText(video.Path);
+ video.ShortcutPath = _fileSystem.ReadAllText(video.Path)
+ .Replace("\t", string.Empty)
+ .Replace("\r", string.Empty)
+ .Replace("\n", string.Empty)
+ .Trim();
}
public Task<ItemUpdateType> FetchAudioInfo<T>(T item, CancellationToken cancellationToken)