Exemple #1
0
 def similarity(self, a, b):
     """Returns string similarity in range 0 - 100%."""
     try:
         # The C version (default) fails on unicode chars
         # see https://github.com/jamesturk/jellyfish/issues/55
         try:
             distance = damerau_levenshtein_distance(a, b)
         except ValueError:
             distance = py_damerau_levenshtein_distance(a, b)
     except MemoryError:
         # Too long string, mark them as not much similar
         return 50
     return int(100 * (1.0 - (float(distance) / max(len(a), len(b), 1))))
Exemple #2
0
    def similarity(self, first, second):
        """Returns string similarity in range 0 - 100%."""
        try:
            try:
                distance = damerau_levenshtein_distance(first, second)
            except ValueError:
                # Needed on Python 2 only (actually jellyfish < 0.7.2)
                distance = py_damerau_levenshtein_distance(first, second)

            return int(100 *
                       (1.0 -
                        (float(distance) / max(len(first), len(second), 1))))
        except MemoryError:
            # Too long string, mark them as not much similar
            return 50
Exemple #3
0
 def similarity(self, first, second):
     """Returns string similarity in range 0 - 100%."""
     try:
         # The C version (default) fails on unicode chars
         # see https://github.com/jamesturk/jellyfish/issues/55
         try:
             distance = damerau_levenshtein_distance(first, second)
         except ValueError:
             distance = py_damerau_levenshtein_distance(first, second)
     except MemoryError:
         # Too long string, mark them as not much similar
         return 50
     return int(
         100 * (1.0 - (float(distance) / max(len(first), len(second), 1)))
     )