MCPcopy
hub / github.com/mvdctop/Movie_Data_Capture / argparse_function

Function argparse_function

Movie_Data_Capture.py:25–107  ·  view source on GitHub ↗
(ver: str)

Source from the content-addressed store, hash-verified

23from core import core_main, core_main_no_net_op, moveFailedFolder, debug_print
24
25def argparse_function(ver: str) -> typing.Tuple[str, str, str, str, bool, bool, str, str]:
26 conf = config.getInstance()
27 parser = argparse.ArgumentParser(epilog=f"Load Config file '{conf.ini_path}'.")
28 parser.add_argument("file", default='', nargs='?', help="Single Movie file path.")
29 parser.add_argument("-p", "--path", default='', nargs='?', help="Analysis folder path.")
30 parser.add_argument("-m", "--main-mode", default='', nargs='?',
31 help="Main mode. 1:Scraping 2:Organizing 3:Scraping in analysis folder")
32 parser.add_argument("-n", "--number", default='', nargs='?', help="Custom file number of single movie file.")
33 # parser.add_argument("-C", "--config", default='config.ini', nargs='?', help="The config file Path.")
34 parser.add_argument("-L", "--link-mode", default='', nargs='?',
35 help="Create movie file link. 0:moving movie file, do not create link 1:soft link 2:try hard link first")
36 default_logdir = str(Path.home() / '.mlogs')
37 parser.add_argument("-o", "--log-dir", dest='logdir', default=default_logdir, nargs='?',
38 help=f"""Duplicate stdout and stderr to logfiles in logging folder, default on.
39 default folder for current user: '{default_logdir}'. Change default folder to an empty file,
40 or use --log-dir= to turn log off.""")
41 parser.add_argument("-q", "--regex-query", dest='regexstr', default='', nargs='?',
42 help="python re module regex filepath filtering.")
43 parser.add_argument("-d", "--nfo-skip-days", dest='days', default='', nargs='?',
44 help="Override nfo_skip_days value in config.")
45 parser.add_argument("-c", "--stop-counter", dest='cnt', default='', nargs='?',
46 help="Override stop_counter value in config.")
47 parser.add_argument("-R", "--rerun-delay", dest='delaytm', default='', nargs='?',
48 help="Delay (eg. 1h10m30s or 60 (second)) time and rerun, until all movies proceed. Note: stop_counter value in config or -c must none zero.")
49 parser.add_argument("-i", "--ignore-failed-list", action="store_true", help="Ignore failed list '{}'".format(
50 os.path.join(os.path.abspath(conf.failed_folder()), 'failed_list.txt')))
51 parser.add_argument("-a", "--auto-exit", action="store_true",
52 help="Auto exit after program complete")
53 parser.add_argument("-g", "--debug", action="store_true",
54 help="Turn on debug mode to generate diagnostic log for issue report.")
55 parser.add_argument("-N", "--no-network-operation", action="store_true",
56 help="No network query, do not get metadata, for cover cropping purposes, only takes effect when main mode is 3.")
57 parser.add_argument("-w", "--website", dest='site', default='', nargs='?',
58 help="Override [priority]website= in config.")
59 parser.add_argument("-D", "--download-images", dest='dnimg', action="store_true",
60 help="Override [common]download_only_missing_images=0 force invoke image downloading.")
61 parser.add_argument("-C", "--config-override", dest='cfgcmd', action='append', nargs=1,
62 help="Common use config override. Grammar: section:key=value[;[section:]key=value] eg. 'de:s=1' or 'debug_mode:switch=1' override[debug_mode]switch=1 Note:this parameters can be used multiple times")
63 parser.add_argument("-z", "--zero-operation", dest='zero_op', action="store_true",
64 help="""Only show job list of files and numbers, and **NO** actual operation
65is performed. It may help you correct wrong numbers before real job.""")
66 parser.add_argument("-v", "--version", action="version", version=ver)
67 parser.add_argument("-s", "--search", default='', nargs='?', help="Search number")
68 parser.add_argument("-ss", "--specified-source", default='', nargs='?', help="specified Source.")
69 parser.add_argument("-su", "--specified-url", default='', nargs='?', help="specified Url.")
70
71 args = parser.parse_args()
72
73 def set_natural_number_or_none(sk, value):
74 if isinstance(value, str) and value.isnumeric() and int(value) >= 0:
75 conf.set_override(f'{sk}={value}')
76
77 def set_str_or_none(sk, value):
78 if isinstance(value, str) and len(value):
79 conf.set_override(f'{sk}={value}')
80
81 def set_bool_or_none(sk, value):
82 if isinstance(value, bool) and value:

Callers 1

Calls 6

set_str_or_noneFunction · 0.85
set_bool_or_noneFunction · 0.85
failed_folderMethod · 0.80
set_overrideMethod · 0.80
main_modeMethod · 0.80

Tested by

no test coverage detected