From c5736014db0b1546d1cf32378432e9db0b3b44ce Mon Sep 17 00:00:00 2001 From: argoneus Date: Sun, 16 Feb 2020 00:15:29 +0100 Subject: [PATCH] added "is_global" flag --- divatool.py | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/divatool.py b/divatool.py index cd5f342..f759b4f 100755 --- a/divatool.py +++ b/divatool.py @@ -15,6 +15,16 @@ LANGUAGES = ["jpn", "eng", "rus"] def main(): parser = argparse.ArgumentParser(description="Unpack and process XDU data") + global_flag_parser = argparse.ArgumentParser(add_help=False) + global_flag_parser.add_argument( + "-g", + "--global", + help="Whether we are running on Global XDU.", + action="store_true", + dest="is_global", + default=False, + ) + subparsers = parser.add_subparsers( metavar="", title="subcommands", dest="command" ) @@ -81,7 +91,9 @@ def main(): parser_utage_crypt.add_argument("TARGET", help="Input", type=str) # utage translate parser_utage_translate = parser_utage_subparsers.add_parser( - "translate", help="Generate keyed tsv and json files" + "translate", + help="Generate keyed tsv and json files", + parents=[global_flag_parser], ) parser_utage_translate.add_argument("INPUT", help="Input", type=str) parser_utage_translate.add_argument( @@ -92,7 +104,7 @@ def main(): ) # utage names parser_utage_names = parser_utage_subparsers.add_parser( - "names", help="Generate and update name files" + "names", help="Generate and update name files", parents=[global_flag_parser] ) parser_utage_names.add_argument("INPUT", help="Input", type=str) parser_utage_names.add_argument( @@ -124,7 +136,7 @@ def main(): metavar="", title="subcommand", dest="subcommand" ) parser_xdudata_update = parser_xdudata_subparsers.add_parser( - "update", help="Update an XDUData directory" + "update", help="Update an XDUData directory", parents=[global_flag_parser] ) parser_xdudata_update.add_argument( "CACHE", help="files/ directory from XDU cache", type=str @@ -152,14 +164,20 @@ def main(): raise FileNotFoundError("Could not find {}".format(args.TARGET)) elif args.subcommand == "translate": if os.path.isfile(args.INPUT): - utage.translate.translate_file(args.INPUT, args.TSVDIR, args.JSONDIR) + utage.translate.translate_file( + args.INPUT, args.TSVDIR, args.JSONDIR, args.is_global + ) elif os.path.isdir(args.INPUT): - utage.translate.translate_dir(args.INPUT, args.TSVDIR, args.JSONDIR) + utage.translate.translate_dir( + args.INPUT, args.TSVDIR, args.JSONDIR, args.is_global + ) else: raise FileNotFoundError("Could not find {}".format(args.INPUT)) elif args.subcommand == "names": if os.path.isdir(args.INPUT): - utage.names.update_names(args.INPUT, args.OLD, LANGUAGES) + utage.names.update_names( + args.INPUT, args.OLD, LANGUAGES, args.is_global + ) else: raise FileNotFoundError(args.INPUT) elif args.command == "diva": @@ -168,7 +186,12 @@ def main(): elif args.command == "xdudata": if args.subcommand == "update": xdudata.update_all( - args.CACHE, args.XDUDATA, args.TRANS, args.EXTRACT, LANGUAGES + args.CACHE, + args.XDUDATA, + args.TRANS, + args.EXTRACT, + LANGUAGES, + args.is_global, ) return 0