From 3eb4091808735858b01855d298226d239be464af Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 3 Nov 2016 02:37:52 -0400 Subject: move additional classes to new server lib --- .../Library/PathExtensions.cs | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Emby.Server.Implementations/Library/PathExtensions.cs (limited to 'Emby.Server.Implementations/Library/PathExtensions.cs') diff --git a/Emby.Server.Implementations/Library/PathExtensions.cs b/Emby.Server.Implementations/Library/PathExtensions.cs new file mode 100644 index 000000000..28ed2f53c --- /dev/null +++ b/Emby.Server.Implementations/Library/PathExtensions.cs @@ -0,0 +1,45 @@ +using System; +using System.Text.RegularExpressions; + +namespace Emby.Server.Implementations.Library +{ + public static class PathExtensions + { + /// + /// Gets the attribute value. + /// + /// The STR. + /// The attrib. + /// System.String. + /// attrib + public static string GetAttributeValue(this string str, string attrib) + { + if (string.IsNullOrEmpty(str)) + { + throw new ArgumentNullException("str"); + } + + if (string.IsNullOrEmpty(attrib)) + { + throw new ArgumentNullException("attrib"); + } + + string srch = "[" + attrib + "="; + int start = str.IndexOf(srch, StringComparison.OrdinalIgnoreCase); + if (start > -1) + { + start += srch.Length; + int end = str.IndexOf(']', start); + return str.Substring(start, end - start); + } + // for imdbid we also accept pattern matching + if (string.Equals(attrib, "imdbid", StringComparison.OrdinalIgnoreCase)) + { + var m = Regex.Match(str, "tt\\d{7}", RegexOptions.IgnoreCase); + return m.Success ? m.Value : null; + } + + return null; + } + } +} -- cgit v1.2.3