GEPS 023: Updates to Check and Repair, Test Case Generator and repo and Utils
Check and Repair tool
- new check source and citation reference function, with extensive changes from previous (temporary) check citation references function,
- low level in-table duplicate handle check removed as this is superfluous because the main database tables do not use the DB_DUP flag,
- Progress meter added for cross table duplicate checking and fixed for all checks,
- diagnostic prints added for all checks to indicate success, and for many to indicate details of failures detected. These prints could be simply changed to Log messages if necessary. Comments added to show how checks relate to Test Case Generator test data,
- order of checks revised so empty objects are removed first,
- fix_encoding of media paths and descriptions modified to remove invalid characters (see change to Utils),
- check and remove empty citations added.
repo.py remove_citation_references added to fix removal of citations on addresses in Repository records.
Utils.py fix_encoding modified to add an option to ignore characters that can't be unicode encoded.
- generate families extended to generate family events,
- options dialogue updated to reflect available features and to make it clearer,
- block transactions options removed as they were by-passed in the code.
- progress meter updated to use current function, and to properly update for all options,
- signal testing code (that wasn't functional anyway) removed,
- tag generating code called when it needed to be,
- data error generating code broken up into functions to reflect the functions in the Check and Repair tool that they are designed to test,
- various test data functions added for testing cross table duplicates, media encoding errors, missing photos, control characters in notes, empty objects, source and citation references and a few missing broken family links tests,
- some fixes for some test cases (check events, person events were marked as birth events)
- fix random text so tags don't contain invalid characters and add a styled text option,
- ensure that some citations are shared,
- remove old redundant commit_transaction function,
- media linked to pictures that exist in the Gramps code so that they don't appear as missing images.