upsies.uis.tui.commands.submit
Generate all required metadata and upload to tracker
Classes
- class upsies.uis.tui.commands.submit.submit(args, config)[source]
Bases:
CommandBaseGenerate all required metadata and upload to TRACKER
- names = ('submit',)
Sequence of command names
The first name is the full name and the rest are short aliases.
- cli_arguments = {}
CLI argument definitions for this command
This is a
dictin which keys are option names or flags (e.g."PATH"or("--path", "-p")and each value is adictwith keyword arguments forargparse.ArgumentParser.add_argument().Additionally, you may specify a
groupin each keyword argument dictionary. Arguments with the samegroupvalue are mutually exclusive, meaning the user can only specify one of them.
- subcommand_name = 'TRACKER'
Reference to expected subcommand in help texts
- subcommands = {'ant': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--nfo',): {'help': 'Path to NFO file (supersedes any *.nfo file found in the release directory)'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--tmdb', '--tm'): {'help': 'TMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to ANT.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit ant --howto-setup\n'}, 'bhd': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--custom-edition', '--ce'): {'default': '', 'help': 'Non-standard edition, e.g. "Final Cut"'}, ('--draft', '--dr'): {'action': 'store_true', 'default': None, 'help': 'Upload as draft'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--nfo',): {'help': 'Path to NFO file (supersedes any *.nfo file found in the release directory)'}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--only-title', '--ot'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate title (do not submit)'}, ('--personal-rip', '--pr'): {'action': 'store_true', 'help': 'Tag submission as your own encode'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}, ('--special', '--sp'): {'action': 'store_true', 'help': 'Tag as special episode, e.g. Christmas special (ignored for movie uploads)'}, ('--tmdb', '--tm'): {'help': 'TMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to BHD.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit bhd --howto-setup\n'}, 'cbr': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--nfo',): {'help': 'Path to NFO file (supersedes any *.nfo file found in the release directory)'}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--only-title', '--ot'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate title (do not submit)'}, ('--personal-rip', '--pr'): {'action': 'store_true', 'help': 'Tag submission as your own encode'}, ('--queue', '--qe'): {'action': 'store_true', 'help': 'Send to moderation queue'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}, ('--tmdb', '--tm'): {'help': 'TMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to CBR.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit cbr --howto-setup\n'}, 'fld': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}, ('--tmdb', '--tm'): {'help': 'TMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to FLD.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit fld --howto-setup\n'}, 'mtv': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-dupes', '--id'): {'action': 'store_true', 'help': 'Force submission even if the tracker reports duplicates'}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--only-title', '--ot'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate title (do not submit)'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}}, 'description': 'Generate all required metadata and upload it to MTV.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit mtv --howto-setup\n'}, 'nbl': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--tvmaze', '--tv'): {'help': 'TVmaze ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to NBL.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit nbl --howto-setup\n'}, 'ptp': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--hardcoded-subtitles', '--hs'): {'action': 'store_true', 'help': 'Release is trumpable because of hardcoded subtitles'}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--nfo',): {'help': 'Path to NFO file (supersedes any *.nfo file found in the release directory)'}, ('--no-english-subtitles', '--nes'): {'help': 'Whether release contains no English audio and no English subtitles.\nThis is autodetected reliably if all audio and subtitle tracks have a correct language tag. If not, you are asked interactively.\nSubtitle languages are detected in *.idx/sub, VIDEO_TS trees, BDMV trees and *.srt/ssa/ass/vtt by language code in the file name, e.g. "Foo.en.srt".', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--not-main-movie', '--nmm'): {'action': 'store_true', 'help': 'Upload ONLY contains extras, Rifftrax, Workprints'}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--personal-rip', '--pr'): {'action': 'store_true', 'help': 'Tag submission as your own encode'}, ('--poster', '--po'): {'help': 'Path or URL to movie poster'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make per video file', 'type': functools.partial(<function integer>, min=1, max=10)}, ('--source', '--so'): {'help': 'Original source of this release\nShould vaguely match: Blu-ray, DVD, WEB, HD-DVD, HDTV, TV, VHS'}, ('--subtitles', '--su'): {'help': 'Comma-separated list of subtitle language codes.\nUse this if subtitles are hardcoded or missing language tags.', 'metavar': 'LANGUAGES', 'type': <class 'upsies.utils.types.ListOfSubtitle'>}, ('--trailer', '--tr'): {'help': 'YouTube trailer URL'}, ('--type', '--ty'): {'help': 'General category of this release\nMust vaguely match: Feature Film, Short Film, Miniseries, Stand-up Comedy, Live Performance, Movie Collection', 'type': <class 'upsies.trackers.ptp.config.PtpReleaseType'>}, ('--upload-token', '--ut'): {'help': 'Upload token from staff'}}, 'description': 'Generate all required metadata and upload it to PTP.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit ptp --howto-setup\n'}, 'rfx': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--anonymous', '--an'): {'help': 'Hide your username for this submission\nValid BOOL values: true/false, yes/no, 1/0, on/off, aye/nay', 'metavar': 'BOOL', 'type': <function bool_or_none>}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--only-title', '--ot'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate title (do not submit)'}, ('--personal-release', '--pr'): {'action': 'store_true', 'help': 'Tag submission as your own release'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}, ('--tmdb', '--tm'): {'help': 'TMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}}, 'description': 'Generate all required metadata and upload it to RFX.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit rfx --howto-setup\n'}, 'sc': {'cli': {'CONTENT': {'help': 'Path to release content', 'type': <function content>}, ('--add-to', '-a'): {'help': 'BitTorrent client name.\nValid names are section names in ~/.config/upsies/clients.ini.', 'metavar': 'CLIENT'}, ('--confirm', '--co'): {'default': None, 'help': 'Whether to ask if you really want to submit after all metadata is generated\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--copy-to', '-c'): {'help': 'Copy the created torrent to PATH (file or directory)', 'metavar': 'PATH'}, ('--edition',): {'help': 'Edition information in the format "YEAR,TITLE,DISTRIBUTOR,CATALOGUE_NUMBER"\nEvery value except for YEAR may be empty.'}, ('--edition-catalogue-number', '--ec'): {'help': 'Editon year (overloads CATALOGUE_NUMBER in --edition)'}, ('--edition-distributor', '--ed'): {'help': 'Editon year (overloads DISTRIBUTOR in --edition)'}, ('--edition-title', '--et'): {'help': 'Editon title (overloads TITLE from --edition)'}, ('--edition-year', '--ey'): {'help': 'Editon year (overloads YEAR from --edition)'}, ('--exclude-files', '--ef'): {'action': 'extend', 'default': [], 'help': 'Glob pattern to exclude from torrent (matched case-insensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+'}, ('--exclude-files-regex', '--efr'): {'action': 'extend', 'default': [], 'help': 'Regular expression to exclude from torrent (matched case-sensitively against path in torrent)', 'metavar': 'PATTERN', 'nargs': '+', 'type': <function regex>}, ('--howto-setup',): {'action': <class 'upsies.uis.tui.commands.base.PrintText.<locals>.PrintText'>, 'help': 'Show detailed instructions on how to do your first upload', 'nargs': 0}, ('--ignore-rules', '--ir'): {'action': 'store_true', 'help': 'Allow submission if it is against tracker rules'}, ('--imdb', '--im'): {'help': 'IMDb ID or URL', 'type': <function webdb_id.<locals>.webdb_id>}, ('--is-scene',): {'default': None, 'help': 'Whether this is a scene release (usually autodetected)\nValid values: true/false, yes/no, 1/0, on/off, aye/nay', 'type': <function bool_or_none>}, ('--only-description', '--od'): {'action': 'store_true', 'group': 'generate-metadata', 'help': 'Only generate description (do not submit)'}, ('--poster', '--po'): {'help': 'Path or URL to poster image'}, ('--reuse-torrent', '-t'): {'default': (), 'help': "Use hashed pieces from TORRENT instead of generating them again or getting them from ~/.cache/upsies/generic_torrents\nTORRENT may also be a directory, which is searched recursively for a matching *.torrent file.\nNOTE: This option is ignored if TORRENT doesn't match properly.", 'metavar': 'TORRENT', 'nargs': '+', 'type': <function existing_path>}, ('--screenshots', '--ss'): {'action': 'extend', 'help': 'Path(s) to existing screenshot file(s)\nDirectories are searched recursively.\nMore screenshots are created if necessary.', 'metavar': 'SCREENSHOT', 'nargs': '+', 'type': <function files_with_extension.<locals>.files_with_extension>}, ('--screenshots-count', '--ssc'): {'help': 'How many screenshots to make (min=3, max=10)', 'type': functools.partial(<function integer>, min=3, max=10)}, ('--trailer', '--tr'): {'help': 'Trailer URL (Vimeo or YouTube)'}}, 'description': 'Generate all required metadata and upload it to SC.\n\nFor step-by-step instructions run this command:\n\n $ upsies submit sc --howto-setup\n'}}
Subcommands of commands (or subsubcommands from a CLI point of view)
This is a
dictwhere keys are subcommand names and values arecli_arguments.
- property jobs
Iterable of
JobBaseinstancesEach
JobBaseinstance may also be None for inactive jobs.
- property main_job
The main job in
jobs_activeThis job’s output is the output of the command.
In the default implementation, this is the last job in
jobs_activethatis_enabled.
- property tracker_name
Lower-case abbreviation of tracker name
- property tracker_options
tracker_namesection in trackers configuration file combined with CLI arguments where CLI arguments take precedence unless their value is None