Make the worker selection heuristics work harder to avoid backup
[python_utils.git] / unscrambler.py
index 05f810a225ccf88b5e0232669179170fc6978b33..d3686d67ed763d9b240b58ee9d43b5151ed31ea8 100644 (file)
@@ -121,10 +121,7 @@ class Unscrambler(object):
 
     # 52 bits
     @staticmethod
-    def _compute_word_fingerprint(
-            word: str,
-            population: Mapping[str, int]
-    ) -> int:
+    def _compute_word_fingerprint(word: str, population: Mapping[str, int]) -> int:
         fp = 0
         for pair in sorted(population.items(), key=lambda x: x[1], reverse=True):
             letter = pair[0]
@@ -140,9 +137,9 @@ class Unscrambler(object):
     # 32 bits
     @staticmethod
     def _compute_word_letter_sig(
-            letter_sigs: Mapping[str, int],
-            word: str,
-            population: Mapping[str, int],
+        letter_sigs: Mapping[str, int],
+        word: str,
+        population: Mapping[str, int],
     ) -> int:
         sig = 0
         for pair in sorted(population.items(), key=lambda x: x[1], reverse=True):
@@ -222,10 +219,7 @@ class Unscrambler(object):
                 print(f'0x{sig:x}+{word}', file=f)
 
     def lookup(
-            self,
-            word: str,
-            *,
-            include_fuzzy_matches: bool = False
+        self, word: str, *, include_fuzzy_matches: bool = False
     ) -> Dict[str, bool]:
         """Looks up a potentially scrambled word optionally including near
         "fuzzy" matches.
@@ -239,10 +233,7 @@ class Unscrambler(object):
         return self.lookup_by_sig(sig, include_fuzzy_matches=include_fuzzy_matches)
 
     def lookup_by_sig(
-            self,
-            sig: int,
-            *,
-            include_fuzzy_matches:bool = False
+        self, sig: int, *, include_fuzzy_matches: bool = False
     ) -> Dict[str, bool]:
         """Looks up a word that has already been translated into a signature by
         a previous call to Unscrambler.compute_word_sig.  Optionally returns