From f987fefbbce5ac34d071dafba0df96eed2ed1fd8 Mon Sep 17 00:00:00 2001
From: David Beniamine <david.beniamine@imag.fr>
Date: Wed, 22 Feb 2017 14:06:39 +0100
Subject: [PATCH] Small fixes

---
 src/test_pass.py | 48 ++++++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/src/test_pass.py b/src/test_pass.py
index 9eb55fc..473edc2 100644
--- a/src/test_pass.py
+++ b/src/test_pass.py
@@ -32,9 +32,7 @@ def add_dictionnaries():
     for fn in os.listdir(directory):
         fn = directory+"/"+fn
         if os.path.isfile(fn):
-            print(fn)
             name = os.path.basename(os.path.splitext(fn)[0])
-            print(name)
             with open(fn) as f:
                 dicts[name] = f.read().splitlines()
     add_frequency_lists(dicts)
@@ -47,9 +45,10 @@ def test_pass(password, inputs):
     results = zxcvbn(password, inputs)
     lines = []
 
-    lines.append("Résultats du test:\n")
+    lines.append("Résultats du test\n")
     lines.append("Nombre de tentatives : {}".format(results["guesses"]))
 
+    # TODO let tr handle things
     times = results["crack_times_display"]
     lines.append("Temps requis pour craquer votre mot de passe")
     lines.append("\t Dump bases de donnée mal protégée : \t**{}**".format(
@@ -63,22 +62,20 @@ def test_pass(password, inputs):
 
     lines.append("\n")
     lines.append("Methode de hack utilisées")
-    if results["sequence"] == []:
-        lines.append("\tVotre mot de passe n'a été trouvé dans aucun dictionnaire")
-    else:
-        for seq in results["sequence"]:
-            if seq["pattern"] == "bruteforce":
-                lines.append("\tMot de passe trouvé par force brute")
-            elif seq["pattern"] == "repeat":
-                for match in seq["base_matches"]:
-                    print("\tMot de passe trouvé par repetition depuis le dictionnaire {}".
-                          format(tr(match["dictionary_name"])))
-            elif seq["pattern"] == "date":
-                lines.append("\tMot de passe trouvé par dates")
-            elif seq["pattern"] == "sequence":
-                lines.append("\tMot proche trouvé dans la séquence : '{}'".format(tr(seq["sequence_name"])))
-            else:
-                lines.append("\tMot proche trouvé dans le dictionnaire : '{}'".format(tr(seq["dictionary_name"])))
+    # Print hack methods
+    for seq in results["sequence"]:
+        if seq["pattern"] == "bruteforce":
+            lines.append("\tMot de passe trouvé par force brute")
+        elif seq["pattern"] == "repeat":
+            for match in seq["base_matches"]:
+                print("\tMot de passe trouvé par repetition depuis le dictionnaire {}".
+                      format(tr(match["dictionary_name"])))
+        elif seq["pattern"] == "date":
+            lines.append("\tMot de passe trouvé par dates")
+        elif seq["pattern"] == "sequence":
+            lines.append("\tMot proche trouvé dans la séquence : '{}'".format(tr(seq["sequence_name"])))
+        else:
+            lines.append("\tMot proche trouvé dans le dictionnaire : '{}'".format(tr(seq["dictionary_name"])))
 
     lines.append("\n")
 
@@ -86,9 +83,16 @@ def test_pass(password, inputs):
     lines.append("Score Global {}/4 : {}".format(results["score"], valeur[results["score"]]))
 
     for key, values in results["feedback"].items():
-        lines.append("{} :".format(tr(key)))
+        # Tel that we sould add the key line if there are some contents
+        needappend = True
         if not isinstance(values, list):
+            # Simplify things by always using lists
             values = [values]
         for val in values:
-            lines.append("\t{}".format(tr(val)))
-        return lines
+            if val != "":
+                if needappend:
+                    # Append key line
+                    lines.append("{} :".format(tr(key)))
+                    needappend = False
+                lines.append("\t{}".format(tr(val)))
+    return lines
-- 
GitLab