]> kaliko git repositories - mpd-sima.git/commitdiff
Add class attribute toggle for diacritics filter
authorkaliko <efrim@azylum.org>
Thu, 5 Dec 2013 10:28:36 +0000 (11:28 +0100)
committerkaliko <efrim@azylum.org>
Wed, 11 Dec 2013 16:15:34 +0000 (17:15 +0100)
Add class attribute for levenshtein ratio

sima/lib/simastr.py

index c7162144cd95cb3b3d65b793e3e18871ed16e220..9dacc45d1ea3af6302a1f56b08c9e6049b117a9b 100644 (file)
@@ -80,6 +80,8 @@ class SimaStr(str):
     Specific string object for artist names and song titles.
     Here follows some class variables for regex to run on strings.
     """
     Specific string object for artist names and song titles.
     Here follows some class variables for regex to run on strings.
     """
+    diafilter = True
+    leven_ratio = 0.82
     regexp_dict = dict()
 
     # Leading patterns: The Le Les
     regexp_dict = dict()
 
     # Leading patterns: The Le Les
@@ -105,7 +107,8 @@ class SimaStr(str):
         self.stripped = str(fuzzstr.strip())
         # fuzzy computation
         self._get_root()
         self.stripped = str(fuzzstr.strip())
         # fuzzy computation
         self._get_root()
-        self.remove_diacritics()
+        if self.__class__.diafilter:
+           self.remove_diacritics()
 
     def __new__(cls, fuzzstr):
         return super(SimaStr, cls).__new__(cls, fuzzstr)
 
     def __new__(cls, fuzzstr):
         return super(SimaStr, cls).__new__(cls, fuzzstr)
@@ -145,7 +148,7 @@ class SimaStr(str):
                                    other.stripped.lower())
         if hash(self) == hash(other):
             return True
                                    other.stripped.lower())
         if hash(self) == hash(other):
             return True
-        return levenr >= 0.82
+        return levenr >= self.__class__.leven_ratio
 
     def __ne__(self, other):
         if not isinstance(other, SimaStr):
 
     def __ne__(self, other):
         if not isinstance(other, SimaStr):