From: Steven Tobin Date: Mon, 26 Sep 2016 11:21:25 +0000 (+0100) Subject: fix a couple of small issues from PR #50,#51 X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=fb0e99debad52c449a38484cb65e02e21a1124f0;p=redacted-XKCD-password-generator.git fix a couple of small issues from PR #50,#51 --- diff --git a/xkcdpass/xkcd_password.py b/xkcdpass/xkcd_password.py index b975e20..e9d4fd7 100755 --- a/xkcdpass/xkcd_password.py +++ b/xkcdpass/xkcd_password.py @@ -104,7 +104,7 @@ def generate_wordlist(wordfile=None, Generate a word list from either a kwarg wordfile, or a system default valid_chars is a regular expression match condition (default - all chars) """ - + if wordfile is None: wordfile = locate_wordfile() @@ -236,23 +236,27 @@ def generate_xkcdpassword(wordlist, return passwd # else, interactive session - if not acrostic: - def n_words_validator(answer): - """ - Validate custom number of words input - """ - - if isinstance(answer, str) and len(answer) == 0: - return numwords - try: - number = int(answer) - if number < 1: - raise ValueError - return number - except ValueError: - sys.stderr.write("Please enter a positive integer\n") - sys.exit(1) + # define input validators + def n_words_validator(answer): + """ + Validate custom number of words input + """ + + if isinstance(answer, str) and len(answer) == 0: + return numwords + try: + number = int(answer) + if number < 1: + raise ValueError + return number + except ValueError: + sys.stderr.write("Please enter a positive integer\n") + sys.exit(1) + + def accepted_validator(answer): + return answer.lower().strip() in ["y", "yes"] + if not acrostic: n_words_prompt = ("Enter number of words (default {0}):" " ".format(numwords)) @@ -268,8 +272,7 @@ def generate_xkcdpassword(wordlist, passwd = delimiter.join(choose_words(wordlist, numwords)) else: passwd = delimiter.join(find_acrostic(acrostic, worddict)) - print("Generated: ", passwd) - accepted_validator = lambda ans: ans.lower().strip() in ["y", "yes"] + print("Generated: " + passwd) accepted = try_input("Accept? [yN] ", accepted_validator) return passwd