aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs17
1 files changed, 9 insertions, 8 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 125f8f225..05a7b7896 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1185,28 +1185,29 @@ namespace MediaBrowser.Controller.Entities
return info;
}
- private string GetMediaSourceName(BaseItem item)
+ internal string GetMediaSourceName(BaseItem item)
{
var terms = new List<string>();
var path = item.Path;
if (item.IsFileProtocol && !string.IsNullOrEmpty(path))
{
+ var displayName = System.IO.Path.GetFileNameWithoutExtension(path);
if (HasLocalAlternateVersions)
{
- var displayName = System.IO.Path.GetFileNameWithoutExtension(path)
- .Replace(System.IO.Path.GetFileName(ContainingFolderPath), string.Empty, StringComparison.OrdinalIgnoreCase)
- .TrimStart(new char[] { ' ', '-' });
-
- if (!string.IsNullOrEmpty(displayName))
+ var containingFolderName = System.IO.Path.GetFileName(ContainingFolderPath);
+ if (displayName.Length > containingFolderName.Length && displayName.StartsWith(containingFolderName, StringComparison.OrdinalIgnoreCase))
{
- terms.Add(displayName);
+ var name = displayName.AsSpan(containingFolderName.Length).TrimStart([' ', '-']);
+ if (!name.IsWhiteSpace())
+ {
+ terms.Add(name.ToString());
+ }
}
}
if (terms.Count == 0)
{
- var displayName = System.IO.Path.GetFileNameWithoutExtension(path);
terms.Add(displayName);
}
}