Change Log ========== This is the change log for the cooked_input Python package, github archive: https://github.com/lwanger/cooked_input for the latest documentation, see: https://readthedocs.org/projects/cooked-input/ see TODO.md for list of TODO items * v0.5.2: * added part two of the tutorial * fixed bug in create_table when neither tag_str or field_names is provided * v0.5.1: * num_rows_per_page in style accepts None (no limit) * v0.5.0: * added TableStyle to Tables and get_menu. * added create_table convenience function for creating tables. * return_row_action (TABLE_RETURN_ROW) changed to return the whole row including the tag. * fixed bug in ListConvertor to catch StopIteration exception caused by empty list * added tk_get_page example. * v0.3.0: * added GetInput class * changed kwargs to options for all calls. Removed options from cleaners and validators * changed Cleaner, Convertor and Validator to abstract base classes (ABCMeta) and methods to abtract methods * added get_menu and Table classes (Table, TableItem, etc.) * added ConvertorError exception. Changed Convertors to use it * added ChoiceConvertor to support get_menu * ListConvertor now takes a GetInput instance to apply to each element in the list * ListValidator now passes the length of the list to the len_validator. Also accepts an error format string for the the length validation * fixed bug: menus now work if rows is a single MenuItem, not a list of MenuItems * modified get_menu example for new menu structure * added elem_validators to get_list to validate list items * added IsFileValidator * changed parameter names on Regex cleaner to match re.sub parameter names * added count parameter to RemoveCleaner * removed TableConvertor. This functionality has been replaced by the Table class. * added minimum and maximum parameters to get_date * added requirements to setup.py. Moved __version__ to version.py * v0.2.12: * renamed ChoicesValidator to ChoiceValidator * added case_insentive flag to ChoicesCleaner * check AnyOf and NoneOf for list of values, not just list of validation functions. Allows saying: NoneOfValidator(['foo', 'bar']) * put cleaners, convertors and validators in alphabetic order in the documentation * v0.2.11: * required option was backwards... fixed * added last_word style for CapitalizeCleaner * added isstring function to input_utils for detecting strings (and string-like things). This should handle strings (str, unicode, raw, bytes, etc.) more robustly, including sub-classes. * added print_function futures import so error_callback works in Python 2.x * more coverage tests * v0.2.7: * Clean up of pypi setup, readme, and documentation. * Ran code through linters and found several issues. * v0.2.3: * Added count option to ReplaceCleaner * Added RemoveCleaner * Added RegexCleaner * Added ChoiceCleaner * Added cleaner example, for choice, replace and regex cleaners. * Added default values to get_user_info example and pythonized the user table. * Added input_utils.py and put compose, make_pretty_table, and put_in_a_list in it. * Changed RegexValidator parameter from 'regex' to 'pattern' for consistency with RegexCleaner. * Fixed 2.7 incompatibilities. Passing all tests in Python 2.7 and 3.6 now. Added future to requirements.txt. Calling future.raisefrom in convertors.py broken. * v0.2.2: * Added minimum and maximum parameters to get_int and get_float convenience functions. * v0.2.1: * Added convenience functions for: get_sring, get_int, get_float, get_boolean, get_list, get_date, and get_yes_no. * Added examples of calling the convenience functions to the examples (e.g. get_ints, get_lists, get_strs, simple_input). * Updated the tutorial to use the get_int convenience function. Also show example of PasswordValidator. * Created exception for: MaxRetriesError (subclassed from RuntimeError), raised when the maximum number of retries is exceeded. * Created exception for: ValidationError (subclassed from ValueError), raised when a value does not pass validation. * Get_*, Convertors and validators now raise MaxRetriesExceeded and ValidationError. * Added pytest tests for getting ints and floats. A lot more case to add. * v0.2.0: * Made a major change to how errors are handled. Added error_callbacks, convertor format strings, and validation convertor strings. This changed most of the code base and some of the examples. * Added print_error, log_error, and ignore_error error callback routines.