#43927: Clean up and modernize generate_packets.py Open Date: 2022-02-19 14:17 Last Update: 2022-10-09 13:48 URL for this Ticket: https://osdn.net//projects/freeciv/ticket/43927 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43927 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2022-10-09 13:48 Updated by: alienvalkyrie * Status Update from Open to Closed * Resolution Update from None to Fixed Comment: Reply To alienvalkyrie what's left before I consider this "cleaned up" Since all of these are now done, I consider this cleanup effort finished now. There is always more to do, but the necessary groundwork has been laid to expand the script's features in the future, and I'm happy with the point we've reached. --------------------------------------------------------------------- Ticket Status: Reporter: alienvalkyrie Owner: alienvalkyrie Type: Tasks Status: Closed Priority: 5 - Medium MileStone: 3.2.0 Component: Bootstrap Severity: 5 - Medium Resolution: Fixed --------------------------------------------------------------------- Ticket details: This is a meta-ticket for various tasks relating to making common/generate_packets.py more clean and concise. This is mostly a refactoring effort, though some of these changes improve the generated code or make the script work in more contexts. Apart from general code/style cleanup (which should happen at every step along the way), this includes: general cleanup: trailing whitespace, unused imports/variables/functions, etc. #43929 #44011 #44585 use pathlib to handle file paths (in a filesystem-agnostic way) #43930 #43972 use argparse to handle command line arguments #43931 #43938 #43939 #45752 #45753 use with-blocks and context managers to cleanly manage file access #43932 #43953 #43954 use iteration (generators, list comprehensions and itertools) where appropriate #44007 #44008 #44009 #44010 #44583 #44584 #45190 split large functions into smaller parts #43951 #43952 create new types to better represent certain components #45077 #45080 #45165 #45166 #45206 improve packets.def parsing code #44571 #44572 #44573 #44580 #44582 #45078 #45079 #45081 #45082 #45178 #45179 #45186 #45723 modernize string formatting #44574 #44575 #44576 #44577 make use of static type checkers / code analysis #44615 #44762 #44763 clean up fields and methods of classes #44761 #44764 #44765 #44768 remove unneeded / broken features #44975 #45012 simplify and uniformize definition and composition of generated code #44976 #44977 #44978 #45000 #45001 polish the code introduced as part of this cleanup #45715 #45716 #45717 #45754 #45755 (More to be added as they pop up.) -- Ticket information of Freeciv project Freeciv Project is hosted on OSDN Project URL: https://osdn.net/projects/freeciv/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/freeciv/ticket/43927 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43927