aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/PathExtensions.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 02:37:52 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 02:37:52 -0400
commit3eb4091808735858b01855d298226d239be464af (patch)
treea17a94e2c677d60471a79617218c8ef9a7a7dee3 /Emby.Server.Implementations/Library/PathExtensions.cs
parent41bef184d1036b02baec00734f3edd8abbebf5fe (diff)
move additional classes to new server lib
Diffstat (limited to 'Emby.Server.Implementations/Library/PathExtensions.cs')
-rw-r--r--Emby.Server.Implementations/Library/PathExtensions.cs45
1 files changed, 45 insertions, 0 deletions
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
+ {
+ /// <summary>
+ /// Gets the attribute value.
+ /// </summary>
+ /// <param name="str">The STR.</param>
+ /// <param name="attrib">The attrib.</param>
+ /// <returns>System.String.</returns>
+ /// <exception cref="System.ArgumentNullException">attrib</exception>
+ 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;
+ }
+ }
+}