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-20 10:33:59 -0500
committerGitHub <noreply@github.com>2019-01-20 10:33:59 -0500
commitacb9afd908f979a6155f7967bc379829c2b9c894 (patch)
tree5f1aeb1bb826a412a40328cb80095c3dc09b66f8 /Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
parent3a5e3ade01ab4b4fccca03ba2da969f03d5564f1 (diff)
parent2dc14aa85d7123e8c97e6e868d661fb91e32440c (diff)
Merge pull request #598 from cvium/remove_textencoding
Remove MediaBrowser.Text for license violations and hackiness
Diffstat (limited to 'Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs')
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs125
1 files changed, 0 insertions, 125 deletions
diff --git a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
deleted file mode 100644
index 08e98d62e..000000000
--- a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using MediaBrowser.Model.Serialization;
-using NLangDetect.Core.Utils;
-
-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)
- {
- var 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
- }
-}