Refactor a separate function for output of all passwords.
authorBen Finney <redacted>
Wed, 2 Mar 2016 05:31:19 +0000 (16:31 +1100)
committerBen Finney <redacted>
Wed, 2 Mar 2016 05:31:19 +0000 (16:31 +1100)
xkcdpass/xkcd_password.py

index e724414d8ca3b0a105cf5881a51382adca0ad83a..d13065e2c4ebfa641f5b99b6eb4b431793201984 100755 (executable)
@@ -242,6 +242,19 @@ def generate_xkcdpassword(wordlist,
     return passwd
 
 
+def emit_passwords(wordlist, options):
+    """ Generate the specified number of passwords and output them. """
+    count = options.count
+    while count > 0:
+        print(generate_xkcdpassword(
+            wordlist,
+            interactive=options.interactive,
+            numwords=options.numwords,
+            acrostic=options.acrostic,
+            delimiter=options.delimiter))
+        count -= 1
+
+
 class XkcdPassArgumentParser(argparse.ArgumentParser):
     """ Command-line argument parser for this program. """
 
@@ -313,8 +326,6 @@ def main(argv=None):
     if argv is None:
         argv = sys.argv
 
-    count = 1
-
     program_name = os.path.basename(argv[0])
     parser = XkcdPassArgumentParser(prog=program_name)
 
@@ -331,14 +342,7 @@ def main(argv=None):
                         options.numwords,
                         options.wordfile)
 
-    count = options.count
-    while count > 0:
-        print(generate_xkcdpassword(my_wordlist,
-                                    interactive=options.interactive,
-                                    numwords=options.numwords,
-                                    acrostic=options.acrostic,
-                                    delimiter=options.delimiter))
-        count -= 1
+    emit_passwords(my_wordlist, options)
 
 
 if __name__ == '__main__':
git clone https://git.99rst.org/PROJECT