BUILD: 0.1 alpha KNOWN BUGS: 2 BUILD: 0.1.1 alpha FIXED: Added error if all character types are "0" Combined double "if" statements for random.choice() Added random.shuffle() to mix up character strings, may add security BUILD: 0.2 alpha (BUG FIX) KNOWN BUGS: 1 BUG FIX: password no longer returned as list NOTE: Program needs some rewriting.. becoming hard to read. BUILD: 0.2.1 alpha BUG FIX: Error handling for "no character type given" BUILD: 0.2.2 alpha BUG FIX: Cleaned up syntax to change the password from tuple to string type using string format BUILD: 0.2.3 alpha BUG FIX: Problem with random.shuffle() when using "".join() BUILD: 0.2.4 alpha (BUG FIX) KNOWN BUGS: 0 BUG FIX: Security fix by using random.randint(), so characters are not used the same number of times. e.g. outputs ab3i instead of ab89 BUILD: 0.2.5 alpha USAGE FIX: Can Answer "Character" questions using "Yes" or "No" setting to True or False instead of 1 or 0 respectively NOTE: Program needs some rewriting.. BUILD: 0.2.6 alpha FIXED: Bad syntax, now character types are shuffled before choice() Now has better def functions() BUILD: 0.3 alpha KNOWN BUGS: 0 ADDED: Now capable of printing more than just one password BUILD: 0.3.1 alpha FIXED: Syntax issues, nothing changed functionally Added vari() and moved the first print() statement so nothing is processed outside of a function Added len_use_input() to shorten main() BUILD: 0.3.2 alpha FIXED: Syntax issues, moved the amount question to len_use_input() and renamed the function to user_input(). NOTE: Program ready to add optparse! BUILD: 0.3.2.1 alpha ADDED: Few characters under the "symbol" list BUILD: 0.3.2.2 alpha FIXED: Randint range changed to 0,5 instead of 1,4 ... increase security (more false) BUILD: 0.3.2.3 alpha FIXED: Incorrect order in if statements in gen_pass() Changed use of randint to only choose one char type at a time BUILD: 0.3.2.4 alpha FIXED: Minor syntax change in get_characters() BUILD: 0.3.2.5 alpha FIXED: Replaced 'while' loop with a 'for' eliminating 2 unnecessary lines BUILD: 0.3.2.6 alpha FIXED: Gen_pass() now returns str instead of list BUILD: 0.4 Beta KNOWN BUGS: 1 ADDED: Optparse module options NOTE: Done? BUILD: 0.4.1 Beta FIXED: Documentation standardized Syntax issue, "all False" error should not have been inside the while loop because it only needed to be called once Changed for loop within main() to "add 1" within range() instead of print(), do less within the loop Changed the name of the program to gen_passwd.py so it can be imported BUILD: 0.4.1.1 Beta (CodeLIB version final) FIXED: uses of CodeLIB instead of defining within the program NOTE: This is the only use of CodeLIB using this program, unneeded BUILD: 0.4.1.2 Beta FIXED: Unneeded for loops within gen_pass(), syntax change BUILD: 0.4.1.3 Beta FIXED: Syntax change, "all False" error now exits within gen_pass() Corrected comments in gen_pass(). BUILD: 0.4.1.4 Beta ADDED: Proper license information (GNU GPL v3) BUILD: 0.4.2 Beta (BUG FIX) KNOWN BUGS: 0 BUG FIX: Added option "-a", "--ask-questions" instead of assuming that the user did not give an option FIXED: Minor syntax issue, relined wrapped function calls to optparse BUILD: 0.4.2.1 Beta FIXED: Syntax change, if instead of elif when testing for length for options Changed -A to -Q and --ask-questions to --questions BUILD: 0.4.2.2 Beta FIXED: Renamed functions to be more verbose Removed the password variable from character_lists() BUILD: 0.4.3 Beta FIXED: character_lists() now returns a dict so order does not need to be known BUILD: 0.4.3.1 Beta FIXED: Formatting in main() now aligns passwords according to the string length of amount, to avoid unneeded space BUILD: 0.4.3.2 Beta FIXED: Added note to module docstring Removed unnessary comments and docstring notes from generate_password() Moved generate_password() call in main() to the formated line to eliminate variable BUILD: 1.0 alpha KNOWN BUGS: 0 FIXED: Total rewrite of generate_password() input_opts() returns a tuple of two dictionaries to mimick the return of character_lists(), also only has one return statement by reusing the OptionParser collection data type The program should not quit in an error during "ask" use, but instead print a warning and continue Syntax change, longest allowed line is now 140 (30 characters more) NOTE: Major version change because password generation has changed Generated passwords should now be more random BUILD: 1.0.1 Beta NOTE: Extensive testing done, no errors found FIXED: Syntax, left 'continue' out of get_int() and added to match get_ans() BUILD: 1.0.2 Beta FIXED: Documentation: added a note for the assert of generate_password()