From de26eb599ef8855f5f7dc0167f1eb1663182cd4b Mon Sep 17 00:00:00 2001
From: ulif <uli@gnufix.de>
Date: Wed, 28 Jan 2015 11:25:16 +0100
Subject: [PATCH] Support num argument.

---
 diceware/diceware.py   |  3 +++
 tests/test_diceware.py | 10 ++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/diceware/diceware.py b/diceware/diceware.py
index 57daa2f..7b52ebc 100644
--- a/diceware/diceware.py
+++ b/diceware/diceware.py
@@ -19,6 +19,9 @@ def handle_options(args):
     """Handle commandline options.
     """
     parser = argparse.ArgumentParser(description="Create a passphrase")
+    parser.add_argument(
+        '-n', '--num', default=6, type=int,
+        help='number of words to concatenate. Default: 6')
     args = parser.parse_args(args)
     return args
 
diff --git a/tests/test_diceware.py b/tests/test_diceware.py
index e094d05..259ec6d 100644
--- a/tests/test_diceware.py
+++ b/tests/test_diceware.py
@@ -62,6 +62,11 @@ class TestDicewareModule(object):
             handle_options(['--help'])
         assert exc_info.value.code == 0
 
+    def test_handle_options_defaults(self):
+        # defaults are correctly set
+        options = handle_options([])
+        assert options.num == 6
+
     def test_main(self, capsys):
         # we can get help
         with pytest.raises(SystemExit) as exc_info:
@@ -71,10 +76,11 @@ class TestDicewareModule(object):
         out = out.replace(
             os.path.basename(sys.argv[0]), 'diceware')
         assert out == (
-            'usage: diceware [-h]\n'
+            'usage: diceware [-h] [-n NUM]\n'
             '\n'
             'Create a passphrase\n'
             '\n'
             'optional arguments:\n'
-            '  -h, --help  show this help message and exit\n'
+            '  -h, --help         show this help message and exit\n'
+            '  -n NUM, --num NUM  number of words to concatenate. Default: 6\n'
             )
-- 
GitLab