]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/simastr.py
Use requests in lastfm module
[mpd-sima.git] / sima / lib / simastr.py
index 56cd2423a0474b540df2c4f010ee89f017585b0e..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
@@ -101,12 +103,15 @@ class SimaStr(str):
     def __init__(self, fuzzstr):
         """
         """
     def __init__(self, fuzzstr):
         """
         """
-        super().__init__(fuzzstr)
         self.orig = str(fuzzstr)
         self.stripped = str(fuzzstr.strip())
         # fuzzy computation
         self._get_root()
         self.orig = str(fuzzstr)
         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 _get_root(self):
         """
 
     def _get_root(self):
         """
@@ -143,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):