diff options
| author | Tthecreator <epostvanthomas@kpnmail.nl> | 2019-01-22 15:22:42 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-22 15:22:42 +0000 |
| commit | 189b99df16bd4c93cc96422d7282d01d9ff5b82f (patch) | |
| tree | 26d7da95fe3e3b2772b8b39a2463a6c0ac7652fc /Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs | |
| parent | a00c0defa8cb22774f5dc8a7d566eb36ac7307e8 (diff) | |
| parent | edcfd8b565f632088c8b1f826db8e2fbecf9790d (diff) | |
Merge pull request #1 from jellyfin/dev
Update from jellyfin repo
Diffstat (limited to 'Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs')
| -rw-r--r-- | Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs deleted file mode 100644 index 9d75b8356..000000000 --- a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using NLangDetect.Core.Utils; -using MediaBrowser.Model.Serialization; -using System.Linq; - -namespace NLangDetect.Core -{ - public class DetectorFactory - { - public Dictionary<string, ProbVector> WordLangProbMap; - public List<string> Langlist; - - private static readonly DetectorFactory _instance = new DetectorFactory(); - - #region Constructor(s) - - private DetectorFactory() - { - WordLangProbMap = new Dictionary<string, ProbVector>(); - Langlist = new List<string>(); - } - - #endregion - - #region Public methods - - public static void LoadProfiles(IJsonSerializer json) - { - var assembly = typeof(DetectorFactory).Assembly; - var names = assembly.GetManifestResourceNames() - .Where(i => i.IndexOf("NLangDetect.Profiles", StringComparison.Ordinal) != -1) - .ToList(); - - var index = 0; - - foreach (var name in names) - { - using (var stream = assembly.GetManifestResourceStream(name)) - { - var langProfile = (LangProfile)json.DeserializeFromStream(stream, typeof(LangProfile)); - - AddProfile(langProfile, index); - } - - index++; - } - } - - public static Detector Create() - { - return CreateDetector(); - } - - public static Detector Create(double alpha) - { - Detector detector = CreateDetector(); - - detector.SetAlpha(alpha); - - return detector; - } - - public static void SetSeed(int? seed) - { - _instance.Seed = seed; - } - - #endregion - - #region Internal methods - - internal static void AddProfile(LangProfile profile, int index) - { - var lang = profile.name; - - if (_instance.Langlist.Contains(lang)) - { - throw new NLangDetectException("duplicate the same language profile", ErrorCode.DuplicateLangError); - } - - _instance.Langlist.Add(lang); - - foreach (string word in profile.freq.Keys) - { - if (!_instance.WordLangProbMap.ContainsKey(word)) - { - _instance.WordLangProbMap.Add(word, new ProbVector()); - } - - double prob = (double)profile.freq[word] / profile.n_words[word.Length - 1]; - - _instance.WordLangProbMap[word][index] = prob; - } - } - - internal static void Clear() - { - _instance.Langlist.Clear(); - _instance.WordLangProbMap.Clear(); - } - - #endregion - - #region Private helper methods - - private static Detector CreateDetector() - { - if (_instance.Langlist.Count == 0) - { - throw new NLangDetectException("need to load profiles", ErrorCode.NeedLoadProfileError); - } - - return new Detector(_instance); - } - - #endregion - - #region Properties - - public int? Seed { get; private set; } - - #endregion - } -} |
