Parcourir la source

simplify get_or_create_password

oz123 il y a 10 ans
Parent
commit
4e8712b130
1 fichiers modifiés avec 18 ajouts et 17 suppressions
  1. 18 17
      pwman/ui/tools.py

+ 18 - 17
pwman/ui/tools.py

@@ -259,25 +259,26 @@ def get_or_create_pass():  # pragma: no cover
         print("Password length (default: 8):", end="")
         sys.stdout.flush()
         ans = sys.stdin.readline().strip()
-        if ans:
-            try:
-                ans = ast.literal_eval(ans)
-                print(ans, type(ans), isinstance(ans, int))
-                if isinstance(ans, int):
-                    kwargs = {'pass_len': ans}
-                elif isinstance(ans, dict):
-                    kwargs = ans
-                else:
-                    print("Did not understand your input...")
-                    continue
-            except ValueError:
-                print("Something evil happend.")
+        try:
+            ans = ast.literal_eval(ans)
+            if isinstance(ans, int):
+                kwargs = {'pass_len': ans}
+                break
+            elif isinstance(ans, dict):
+                kwargs = ans
+                break
+            else:
                 print("Did not understand your input...")
                 continue
-
-            p = generate_password(**kwargs)
-        else:
-            p = generate_password()
+        except ValueError:
+            print("Something evil happend.")
+            print("Did not understand your input...")
+            continue
+        except SyntaxError:
+            kwargs = {}
+            break
+
+    p = generate_password(**kwargs)
     return p