From 48facb797ed912e4ea6b04b17d1ff190ac2daac4 Mon Sep 17 00:00:00 2001 From: stefan Date: Wed, 12 Sep 2018 19:26:21 +0200 Subject: Update to 3.5.2 and .net core 2.1 --- .../Sorting/IBaseItemComparer.cs | 17 --- .../Sorting/IUserBaseItemComparer.cs | 29 ----- MediaBrowser.Controller/Sorting/SortExtensions.cs | 143 --------------------- MediaBrowser.Controller/Sorting/SortHelper.cs | 25 ---- 4 files changed, 214 deletions(-) delete mode 100644 MediaBrowser.Controller/Sorting/IBaseItemComparer.cs delete mode 100644 MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs delete mode 100644 MediaBrowser.Controller/Sorting/SortExtensions.cs delete mode 100644 MediaBrowser.Controller/Sorting/SortHelper.cs (limited to 'MediaBrowser.Controller/Sorting') diff --git a/MediaBrowser.Controller/Sorting/IBaseItemComparer.cs b/MediaBrowser.Controller/Sorting/IBaseItemComparer.cs deleted file mode 100644 index 6d0b95bcb..000000000 --- a/MediaBrowser.Controller/Sorting/IBaseItemComparer.cs +++ /dev/null @@ -1,17 +0,0 @@ -using MediaBrowser.Controller.Entities; -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Sorting -{ - /// - /// Interface IBaseItemComparer - /// - public interface IBaseItemComparer : IComparer - { - /// - /// Gets the name. - /// - /// The name. - string Name { get; } - } -} diff --git a/MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs b/MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs deleted file mode 100644 index 915d4854b..000000000 --- a/MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs +++ /dev/null @@ -1,29 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; - -namespace MediaBrowser.Controller.Sorting -{ - /// - /// Represents a BaseItem comparer that requires a User to perform it's comparison - /// - public interface IUserBaseItemComparer : IBaseItemComparer - { - /// - /// Gets or sets the user. - /// - /// The user. - User User { get; set; } - - /// - /// Gets or sets the user manager. - /// - /// The user manager. - IUserManager UserManager { get; set; } - - /// - /// Gets or sets the user data repository. - /// - /// The user data repository. - IUserDataManager UserDataRepository { get; set; } - } -} diff --git a/MediaBrowser.Controller/Sorting/SortExtensions.cs b/MediaBrowser.Controller/Sorting/SortExtensions.cs deleted file mode 100644 index ec8ee5a11..000000000 --- a/MediaBrowser.Controller/Sorting/SortExtensions.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace MediaBrowser.Controller.Sorting -{ - public static class SortExtensions - { - public static IEnumerable OrderByString(this IEnumerable list, Func getName) - { - return list.OrderBy(getName, new AlphanumComparator()); - } - - public static IEnumerable OrderByStringDescending(this IEnumerable list, Func getName) - { - return list.OrderByDescending(getName, new AlphanumComparator()); - } - - public static IOrderedEnumerable ThenByString(this IOrderedEnumerable list, Func getName) - { - return list.ThenBy(getName, new AlphanumComparator()); - } - - public static IOrderedEnumerable ThenByStringDescending(this IOrderedEnumerable list, Func getName) - { - return list.ThenByDescending(getName, new AlphanumComparator()); - } - - private class AlphanumComparator : IComparer - { - private enum ChunkType { Alphanumeric, Numeric }; - - private static bool InChunk(char ch, char otherCh) - { - var type = ChunkType.Alphanumeric; - - if (char.IsDigit(otherCh)) - { - type = ChunkType.Numeric; - } - - if ((type == ChunkType.Alphanumeric && char.IsDigit(ch)) - || (type == ChunkType.Numeric && !char.IsDigit(ch))) - { - return false; - } - - return true; - } - - public static int CompareValues(string s1, string s2) - { - if (s1 == null || s2 == null) - { - return 0; - } - - int thisMarker = 0, thisNumericChunk = 0; - int thatMarker = 0, thatNumericChunk = 0; - - while ((thisMarker < s1.Length) || (thatMarker < s2.Length)) - { - if (thisMarker >= s1.Length) - { - return -1; - } - else if (thatMarker >= s2.Length) - { - return 1; - } - char thisCh = s1[thisMarker]; - char thatCh = s2[thatMarker]; - - StringBuilder thisChunk = new StringBuilder(); - StringBuilder thatChunk = new StringBuilder(); - - while ((thisMarker < s1.Length) && (thisChunk.Length == 0 || InChunk(thisCh, thisChunk[0]))) - { - thisChunk.Append(thisCh); - thisMarker++; - - if (thisMarker < s1.Length) - { - thisCh = s1[thisMarker]; - } - } - - while ((thatMarker < s2.Length) && (thatChunk.Length == 0 || InChunk(thatCh, thatChunk[0]))) - { - thatChunk.Append(thatCh); - thatMarker++; - - if (thatMarker < s2.Length) - { - thatCh = s2[thatMarker]; - } - } - - int result = 0; - // If both chunks contain numeric characters, sort them numerically - if (char.IsDigit(thisChunk[0]) && char.IsDigit(thatChunk[0])) - { - if (!int.TryParse(thisChunk.ToString(), out thisNumericChunk)) - { - return 0; - } - if (!int.TryParse(thatChunk.ToString(), out thatNumericChunk)) - { - return 0; - } - - if (thisNumericChunk < thatNumericChunk) - { - result = -1; - } - - if (thisNumericChunk > thatNumericChunk) - { - result = 1; - } - } - else - { - result = thisChunk.ToString().CompareTo(thatChunk.ToString()); - } - - if (result != 0) - { - return result; - } - } - - return 0; - } - - public int Compare(string x, string y) - { - return CompareValues(x, y); - } - } - } -} diff --git a/MediaBrowser.Controller/Sorting/SortHelper.cs b/MediaBrowser.Controller/Sorting/SortHelper.cs deleted file mode 100644 index 3456b9b04..000000000 --- a/MediaBrowser.Controller/Sorting/SortHelper.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace MediaBrowser.Controller.Sorting -{ - public static class SortHelper - { - private enum ChunkType { Alphanumeric, Numeric }; - - public static bool InChunk(char ch, char otherCh) - { - var type = ChunkType.Alphanumeric; - - if (char.IsDigit(otherCh)) - { - type = ChunkType.Numeric; - } - - if ((type == ChunkType.Alphanumeric && char.IsDigit(ch)) - || (type == ChunkType.Numeric && !char.IsDigit(ch))) - { - return false; - } - - return true; - } - } -} -- cgit v1.2.3