aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs46
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs2
2 files changed, 14 insertions, 34 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 2584fa4f0..ae08a7c3d 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -900,8 +900,16 @@ namespace MediaBrowser.Server.Implementations.Dto
if (fields.Contains(ItemFields.Path))
{
- dto.Path = item.Path;
- dto.MappedPaths = GetMappedPaths(item);
+ var locationType = item.LocationType;
+
+ if (locationType == LocationType.FileSystem || locationType == LocationType.Offline)
+ {
+ dto.Path = GetMappedPath(item.Path);
+ }
+ else
+ {
+ dto.Path = item.Path;
+ }
}
dto.PremiereDate = item.PremiereDate;
@@ -1135,39 +1143,11 @@ namespace MediaBrowser.Server.Implementations.Dto
}
}
- private List<string> GetMappedPaths(BaseItem item)
- {
- var list = new List<string>();
-
- var locationType = item.LocationType;
-
- if (locationType == LocationType.FileSystem || locationType == LocationType.Offline)
- {
- var path = item.Path;
- var mappedPaths = _config.Configuration.PathSubstitutions
- .Select(p => GetMappedPath(path, p))
- .Where(p => !string.Equals(p, path, StringComparison.OrdinalIgnoreCase))
- .Distinct(StringComparer.OrdinalIgnoreCase);
-
- list.AddRange(mappedPaths);
- }
-
- return list;
- }
-
- private string GetMappedPath(string path, PathSubstitution map)
+ private string GetMappedPath(string path)
{
- var toValue = map.To ?? string.Empty;
-
- path = path.Replace(map.From, toValue, StringComparison.OrdinalIgnoreCase);
-
- if (toValue.IndexOf('/') != -1)
- {
- path = path.Replace('\\', '/');
- }
- else
+ foreach (var map in _config.Configuration.PathSubstitutions)
{
- path = path.Replace('/', '\\');
+ path = _fileSystem.SubstitutePath(path, map.From, map.To);
}
return path;
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs
index 625274da9..e97bc97f8 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs
@@ -74,7 +74,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV
return null;
}
- if (args.ContainsMetaFileByName("series.xml") || filename.IndexOf("[tvdbid=", StringComparison.OrdinalIgnoreCase) != -1 || TVUtils.IsSeriesFolder(args.Path, args.FileSystemChildren))
+ if (args.ContainsMetaFileByName("series.xml") || filename.IndexOf("[tvdbid=", StringComparison.OrdinalIgnoreCase) != -1 || TVUtils.IsSeriesFolder(args.Path, args.FileSystemChildren, args.DirectoryService))
{
return new Series();
}