aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
diff options
context:
space:
mode:
authorAndrew Rabert <6550543+nvllsvm@users.noreply.github.com>2019-01-22 18:13:47 -0500
committerGitHub <noreply@github.com>2019-01-22 18:13:47 -0500
commit28483bdb54be96ae83e0fded097f534d7e26ba1e (patch)
treee7f4b92326417ebf55eecdf68a01d2c3b9e660d7 /Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
parent920c39454c05e979eabe81877269cd4517a03ccf (diff)
parent8106c8393b711a7e1d40487e3caf2b014decbe28 (diff)
Merge pull request #651 from jellyfin/release-10.1.0
Release 10.1.0
Diffstat (limited to 'Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs')
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs127
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
- }
-}