CLI Reference

$ upsies --version
upsies 2026.06.04
$ upsies --help
usage: upsies [-h] [--version] [--debug FILE] [--config-file CONFIG_FILE]
              [--trackers-file TRACKERS_FILE] [--imghosts-file IMGHOSTS_FILE]
              [--clients-file CLIENTS_FILE] [--ignore-cache] [--clear-cache]
              {bdinfo,bi,id,mediainfo,mi,poster,release-name,rn,scene-check,scc,scene-search,scs,screenshots,ss,set,submit,torrent-add,ta,torrent-create,tc,upload-images,ui}
              ...

Media metadata aggregator

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --debug FILE, -d FILE
                        Write debugging messages to FILE
  --config-file CONFIG_FILE, -f CONFIG_FILE
                        General configuration file path
  --trackers-file TRACKERS_FILE, -t TRACKERS_FILE
                        Trackers configuration file path
  --imghosts-file IMGHOSTS_FILE, -i IMGHOSTS_FILE
                        Image hosting services configuration file path
  --clients-file CLIENTS_FILE, -c CLIENTS_FILE
                        BitTorrent clients configuration file path
  --ignore-cache, -C    Ignore results from previous calls
  --clear-cache         Remove cache directory (config.main.cache_directory)

commands:
  {bdinfo,bi,id,mediainfo,mi,poster,release-name,rn,scene-check,scc,scene-search,scs,screenshots,ss,set,submit,torrent-add,ta,torrent-create,tc,upload-images,ui}
    bdinfo (bi)         Print the BDInfo report(s)
    id                  Search online database like IMDb to get an ID
    mediainfo (mi)      Print "mediainfo" output
    poster              Download, resize and re-upload poster from IMDb or
                        similar website
    release-name (rn)   Generate properly formatted release name
    scene-check (scc)   Verify scene release name and integrity
    scene-search (scs)  Find scene releases that match RELEASE
    screenshots (ss)    Create screenshots from video file and optionally upload
                        them
    set                 Change or show configuration file options
    submit              Generate all required metadata and upload to TRACKER
    torrent-add (ta)    Add torrent file to BitTorrent client
    torrent-create (tc)
                        Create torrent file and optionally add or copy it
    upload-images (ui)  Upload images to image hosting service

keybindings:
  You can cancel any command with Escape, Ctrl+c or Ctrl+g.

  In the TUI, the usual readline/Emacs keybindings are supported. Here is an
incomplete
  list:

    Ctrl+f         Move forward character-wise
    Ctrl+b         Move backward character-wise
    Alt+f          Move forward word-wise
    Alt+b          Move backward word-wise
    Ctrl+a         Move leftmost position
    Ctrl+e         Move rightmost position
    Ctrl+d         Delete character under cursor
    Alt+d          Delete from cursor to rightmost end of word
    Alt+Backspace  Delete from cursor to leftmost end of word
    Ctrl+k         Delete from cursor to end of line
    Ctrl+Space     Start marking region
    Ctrl+w         Cut region between mark (Ctrl+Space) and cursor
    Alt+w          Copy region between mark (Ctrl+Space) and cursor
    Ctrl+y         Paste region
    Ctrl+/         Undo most recent change

bdinfo (bi)

$ upsies bdinfo --help
usage: upsies bdinfo [-h] [--summary {none,full,quick}] [--multiple]
                     [--format FORMAT]
                     CONTENT

Print the BDInfo report(s)

This needs a "bdinfo" executable in your $PATH. It is called like this:

    bdinfo --mpls=PLAYLIST_FILE_NAME PATH_TO_BLURAY REPORT_DIRECTORY

Here is a wrapper script that runs BDInfoCLI-ng in a docker container:
https://codeberg.org/plotski/upsies/src/branch/master/goodies/bdinfo

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --summary {none,full,quick}, -s {none,full,quick}
                        Which parts of the BDInfo output to print
  --multiple, -m        Allow selection of multiple playlists and generate
                        multiple BDInfo reports
  --format FORMAT, -f FORMAT
                        Text that contains the placeholder "{BDINFO}", which is
                        replaced by the BDInfo report
                        Example: "[bdinfo]{BDINFO}[/bdinfo]"

id

$ upsies id --help
usage: upsies id [-h] DB RELEASE

Search online database like IMDb to get an ID

Pressing "Enter" searches for the current query. Pressing "Enter" again
without changing the query selects the focused search result.

The focused search result can be opened in the default web browser with
"Alt-Enter".

Search results can be narrowed down with the following parameters:

  - year:YYYY
    Only return results with a specific release year.

  - type:series|movie
    Only return movies or series.

  - id:ID
    Search for a specific, known ID.

If possible, the ID is also detected in normal text without the "id:ID"
format. The exact detection is specific to each database, but searching for
an URL (e.g. https://www.tvmaze.com/shows/1910) should always work.

If the query starts with "!" and there is only one search result,
automatically select it. This is useful when searching for an ID,
e.g. "!id:tt0123456".

positional arguments:
  DB          Case-insensitive database name
              Supported databases: imdb, tmdb, tvmaze
  RELEASE     Release name or path to release content

options:
  -h, --help  show this help message and exit

mediainfo (mi)

$ upsies mediainfo --help
usage: upsies mediainfo [-h] [--from-all-videos]
                        [--exclude-files PATTERN [PATTERN ...]]
                        [--exclude-files-regex PATTERN [PATTERN ...]]
                        [--format FORMAT]
                        CONTENT

Print "mediainfo" output

Directories are recursively searched for the first video file in natural
order, e.g. "File1.mp4" comes before "File10.mp4".

Any irrelevant leading parts in the file path are removed from the output.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --from-all-videos, -a
                        Get mediainfo from each video file beneath CONTENT
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from CONTENT (matched case-
                        insensitively against path relative to CONTENT)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from CONTENT (matched
                        case-sensitively against path relative to CONTENT)
  --format FORMAT, -f FORMAT
                        Text that contains the placeholder "{MEDIAINFO}", which
                        is replaced by the `mediainfo` output
                        Example: "[mediainfo]{MEDIAINFO}[/mediainfo]"

poster

$ upsies poster --help
usage: upsies poster [-h] [--db DB] [--upload-to IMAGE_HOST] [--width WIDTH]
                     [--height HEIGHT] [--output OUTPUT]
                     RELEASE

Download, resize and re-upload poster from IMDb or similar website

positional arguments:
  RELEASE               Release name or path to release content

options:
  -h, --help            show this help message and exit
  --db DB, -d DB        Case-insensitive database name
                        Supported databases: imdb, tmdb, tvmaze
  --upload-to IMAGE_HOST, -u IMAGE_HOST
                        Comma-separated list of case-insensitive names of image
                        hosting services
                        Only the URL from the first successfull upload is used.
                        Supported services: freeimage, imgbb, imgbox, pixhost,
                        ptpimg, ra, rfximg
  --width WIDTH, -w WIDTH
                        Poster width in pixels (default: 0 (no resizing))
  --height HEIGHT, -t HEIGHT
                        Poster height in pixels (default: 0 (no resizing))
  --output OUTPUT, -o OUTPUT
                        Write poster to file OUTPUT

release-name (rn)

$ upsies release-name --help
usage: upsies release-name [-h] [--separator SEPARATOR] [--imdb [ID_OR_URL] |
                           --tmdb [ID_OR_URL] | --tvmaze [ID_OR_URL]]
                           [--title TITLE] [--year YEAR] [--episodes EPISODES]
                           [--edition EDITION] [--service SERVICE]
                           [--source SOURCE] [--group GROUP]
                           RELEASE

Generate properly formatted release name

IMDb is searched to get the correct title, year and alternative title if
applicable.

Audio and video information is detected with mediainfo.

Missing required information is highlighted with placeholders,
e.g. "UNKNOWN_RESOLUTION".

positional arguments:
  RELEASE               Release name or path to release content

options:
  -h, --help            show this help message and exit
  --separator SEPARATOR, -s SEPARATOR
                        Separator between parts (default: " ")
  --imdb [ID_OR_URL], --im [ID_OR_URL]
                        Use IMDb to fill in info like title, year, etc
  --tmdb [ID_OR_URL], --tm [ID_OR_URL]
                        Use TMDb to fill in info like title, year, etc
  --tvmaze [ID_OR_URL], --tv [ID_OR_URL]
                        Use TVmaze to fill in info like title, year, etc
  --title TITLE, --ti TITLE
                        Override title
  --year YEAR, --ye YEAR
                        Override year
  --episodes EPISODES, --ep EPISODES
                        Override season/episode info (e.g. "S03", "S06E09" or
                        "S01E02 The Episode Title")
  --edition EDITION, --ed EDITION
                        Override edition (e.g. "Remastered,Uncut")
  --service SERVICE, --se SERVICE
                        Override source service (e.g. "AMZN")
  --source SOURCE, --so SOURCE
                        Override source (e.g. "BluRay" or "WEB-DL")
  --group GROUP, --gr GROUP
                        Override group

scene-check (scc)

$ upsies scene-check --help
usage: upsies scene-check [-h] [--predbs PREDBS] RELEASE

Verify scene release name and integrity

If RELEASE is a scene release, make sure it has the correct file size(s) and
is named properly.

positional arguments:
  RELEASE               Release name or path to release content

options:
  -h, --help            show this help message and exit
  --predbs PREDBS, -p PREDBS
                        Case-insensitive predb name
                        Supported predbs: corruptnet, predbclub, predbnet, srrdb

screenshots (ss)

$ upsies screenshots --help
usage: upsies screenshots [-h] [--exclude-files PATTERN [PATTERN ...]]
                          [--exclude-files-regex PATTERN [PATTERN ...]]
                          [--timestamps TIMESTAMP [TIMESTAMP ...]]
                          [--precreated SCREENSHOT [SCREENSHOT ...]]
                          [--number NUMBER] [--from-all-videos]
                          [--optimize LEVEL] [--tonemap BOOL]
                          [--upload-to IMAGE_HOSTS] [--thumb-width WIDTH]
                          [--format FORMAT] [--output-directory PATH]
                          CONTENT

Create screenshots from video file and optionally upload them

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from CONTENT (matched case-
                        insensitively against path relative to CONTENT)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from CONTENT (matched
                        case-sensitively against path relative to CONTENT)
  --timestamps TIMESTAMP [TIMESTAMP ...], -t TIMESTAMP [TIMESTAMP ...]
                        Space-separated list of [[HH:]MM:]SS strings
  --precreated SCREENSHOT [SCREENSHOT ...], -p SCREENSHOT [SCREENSHOT ...]
                        Existing screenshot file path
  --number NUMBER, -n NUMBER
                        How many screenshots to make in total
  --from-all-videos, -a
                        Make NUMBER screenshots from each video file beneath
                        CONTENT
  --optimize LEVEL, --opt LEVEL
                        File size optimization level: low, medium, high,
                        placebo, none, default
  --tonemap BOOL        Apply tonemap filter to HDR screenshots
  --upload-to IMAGE_HOSTS, -u IMAGE_HOSTS
                        Comma-separated list of case-insensitive image hosting
                        service names
                        Supported services: freeimage, imgbb, imgbox, pixhost,
                        ptpimg, ra, rfximg
  --thumb-width WIDTH, --tw WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"
  --output-directory PATH, -o PATH
                        Directory where screenshots are put (created on demand)

set

$ upsies set --help
usage: upsies set [-h] [--reset] [--dump [FILE ...]] [--options]
                  [--fetch-ptpimg-apikey EMAIL PASSWORD]
                  [OPTION] [VALUE ...]

Change or show configuration file options

Without any arguments, all options are listed with their current values.

OPTION consists of three segments which are delimited with a period (".").
The first segment in OPTION is the INI file name without the extension.
The second segment is the section name in that file. The third segment
is the option name.

List values are given as one argument per list item. If non-list values are
given as multiple arguments, they are concatenated with single spaces. In
the INI file, list items are delimited by one line break and one or more
spaces (e.g. "\n    ").

positional arguments:
  OPTION                Option to change or show
  VALUE                 New value for OPTION

options:
  -h, --help            show this help message and exit
  --reset, -r           Reset OPTION to default value
  --dump [FILE ...], -d [FILE ...]
                        Write current configuration to ~/.config/upsies/FILE.ini
                        with commented-out default values
                        FILE may be "clients", "config", "imghosts", "trackers",
                        or it may be omitted to write all configuration files.
                        WARNING: You will lose any comments and custom structure
                        in your .ini files.
  --options             Show description of all configuration options
  --fetch-ptpimg-apikey EMAIL PASSWORD
                        Fetch ptpimg API key and save it in
                        ~/.config/upsies/imghosts.ini
                        (EMAIL and PASSWORD are not saved)

submit

$ upsies submit --help
usage: upsies submit [-h] TRACKER ...

Generate all required metadata and upload to TRACKER

Run "upsies submit TRACKER --help" for more information.

positional arguments:
  TRACKER     Valid values: ant, bhd, cbr, fld, mtv, nbl, ptp, rfx, sc

options:
  -h, --help  show this help message and exit

submit ant

$ upsies submit ant --help
usage: upsies submit ant [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--anonymous BOOL] [--nfo NFO]
                         [--tmdb TMDB]
                         CONTENT

Generate all required metadata and upload it to ANT.

For step-by-step instructions run this command:

    $ upsies submit ant --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --nfo NFO             Path to NFO file (supersedes any *.nfo file found in the
                        release directory)
  --tmdb TMDB, --tm TMDB
                        TMDb ID or URL

submit bhd

$ upsies submit bhd --help
usage: upsies submit bhd [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--imdb IMDB] [--tmdb TMDB]
                         [--anonymous BOOL] [--custom-edition CUSTOM_EDITION]
                         [--draft] [--nfo NFO] [--personal-rip]
                         [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]] [--special]
                         [--only-description | --only-title]
                         CONTENT

Generate all required metadata and upload it to BHD.

For step-by-step instructions run this command:

    $ upsies submit bhd --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --tmdb TMDB, --tm TMDB
                        TMDb ID or URL
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --custom-edition CUSTOM_EDITION, --ce CUSTOM_EDITION
                        Non-standard edition, e.g. "Final Cut"
  --draft, --dr         Upload as draft
  --nfo NFO             Path to NFO file (supersedes any *.nfo file found in the
                        release directory)
  --personal-rip, --pr  Tag submission as your own encode
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --special, --sp       Tag as special episode, e.g. Christmas special (ignored
                        for movie uploads)
  --only-description, --od
                        Only generate description (do not submit)
  --only-title, --ot    Only generate title (do not submit)

submit cbr

$ upsies submit cbr --help
usage: upsies submit cbr [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--imdb IMDB] [--tmdb TMDB]
                         [--anonymous BOOL] [--nfo NFO] [--personal-rip]
                         [--queue] [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]]
                         [--only-description | --only-title]
                         CONTENT

Generate all required metadata and upload it to CBR.

For step-by-step instructions run this command:

    $ upsies submit cbr --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --tmdb TMDB, --tm TMDB
                        TMDb ID or URL
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --nfo NFO             Path to NFO file (supersedes any *.nfo file found in the
                        release directory)
  --personal-rip, --pr  Tag submission as your own encode
  --queue, --qe         Send to moderation queue
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --only-description, --od
                        Only generate description (do not submit)
  --only-title, --ot    Only generate title (do not submit)

submit fld

$ upsies submit fld --help
usage: upsies submit fld [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--imdb IMDB] [--tmdb TMDB]
                         [--anonymous BOOL]
                         [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]]
                         [--only-description]
                         CONTENT

Generate all required metadata and upload it to FLD.

For step-by-step instructions run this command:

    $ upsies submit fld --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --tmdb TMDB, --tm TMDB
                        TMDb ID or URL
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --only-description, --od
                        Only generate description (do not submit)

submit mtv

$ upsies submit mtv --help
usage: upsies submit mtv [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--imdb IMDB] [--anonymous BOOL]
                         [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]]
                         [--only-description | --only-title] [--ignore-dupes]
                         CONTENT

Generate all required metadata and upload it to MTV.

For step-by-step instructions run this command:

    $ upsies submit mtv --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --only-description, --od
                        Only generate description (do not submit)
  --only-title, --ot    Only generate title (do not submit)
  --ignore-dupes, --id  Force submission even if the tracker reports duplicates

submit nbl

$ upsies submit nbl --help
usage: upsies submit nbl [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--anonymous BOOL]
                         [--tvmaze TVMAZE]
                         CONTENT

Generate all required metadata and upload it to NBL.

For step-by-step instructions run this command:

    $ upsies submit nbl --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --tvmaze TVMAZE, --tv TVMAZE
                        TVmaze ID or URL

submit ptp

$ upsies submit ptp --help
usage: upsies submit ptp [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--subtitles LANGUAGES]
                         [--hardcoded-subtitles] [--no-english-subtitles BOOL]
                         [--not-main-movie] [--personal-rip] [--poster POSTER]
                         [--trailer TRAILER] [--nfo NFO] [--imdb IMDB]
                         [--source SOURCE] [--type TYPE]
                         [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]]
                         [--upload-token UPLOAD_TOKEN] [--only-description]
                         CONTENT

Generate all required metadata and upload it to PTP.

For step-by-step instructions run this command:

    $ upsies submit ptp --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --subtitles LANGUAGES, --su LANGUAGES
                        Comma-separated list of subtitle language codes.
                        Use this if subtitles are hardcoded or missing language
                        tags.
  --hardcoded-subtitles, --hs
                        Release is trumpable because of hardcoded subtitles
  --no-english-subtitles BOOL, --nes BOOL
                        Whether release contains no English audio and no English
                        subtitles.
                        This is autodetected reliably if all audio and subtitle
                        tracks have a correct language tag. If not, you are
                        asked interactively.
                        Subtitle 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".
  --not-main-movie, --nmm
                        Upload ONLY contains extras, Rifftrax, Workprints
  --personal-rip, --pr  Tag submission as your own encode
  --poster POSTER, --po POSTER
                        Path or URL to movie poster
  --trailer TRAILER, --tr TRAILER
                        YouTube trailer URL
  --nfo NFO             Path to NFO file (supersedes any *.nfo file found in the
                        release directory)
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --source SOURCE, --so SOURCE
                        Original source of this release
                        Should vaguely match: Blu-ray, DVD, WEB, HD-DVD, HDTV,
                        TV, VHS
  --type TYPE, --ty TYPE
                        General category of this release
                        Must vaguely match: Feature Film, Short Film,
                        Miniseries, Stand-up Comedy, Live Performance, Movie
                        Collection
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make per video file
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --upload-token UPLOAD_TOKEN, --ut UPLOAD_TOKEN
                        Upload token from staff
  --only-description, --od
                        Only generate description (do not submit)

submit rfx

$ upsies submit rfx --help
usage: upsies submit rfx [-h] [--howto-setup] [--is-scene IS_SCENE]
                         [--exclude-files PATTERN [PATTERN ...]]
                         [--exclude-files-regex PATTERN [PATTERN ...]]
                         [--reuse-torrent TORRENT [TORRENT ...]]
                         [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                         [--confirm CONFIRM] [--imdb IMDB] [--tmdb TMDB]
                         [--anonymous BOOL]
                         [--screenshots-count SCREENSHOTS_COUNT]
                         [--screenshots SCREENSHOT [SCREENSHOT ...]]
                         [--personal-release]
                         [--only-description | --only-title]
                         CONTENT

Generate all required metadata and upload it to RFX.

For step-by-step instructions run this command:

    $ upsies submit rfx --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --tmdb TMDB, --tm TMDB
                        TMDb ID or URL
  --anonymous BOOL, --an BOOL
                        Hide your username for this submission
                        Valid BOOL values: true/false, yes/no, 1/0, on/off,
                        aye/nay
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --personal-release, --pr
                        Tag submission as your own release
  --only-description, --od
                        Only generate description (do not submit)
  --only-title, --ot    Only generate title (do not submit)

submit sc

$ upsies submit sc --help
usage: upsies submit sc [-h] [--howto-setup] [--is-scene IS_SCENE]
                        [--exclude-files PATTERN [PATTERN ...]]
                        [--exclude-files-regex PATTERN [PATTERN ...]]
                        [--reuse-torrent TORRENT [TORRENT ...]]
                        [--add-to CLIENT] [--copy-to PATH] [--ignore-rules]
                        [--confirm CONFIRM] [--imdb IMDB]
                        [--screenshots-count SCREENSHOTS_COUNT]
                        [--screenshots SCREENSHOT [SCREENSHOT ...]]
                        [--edition EDITION] [--edition-year EDITION_YEAR]
                        [--edition-title EDITION_TITLE]
                        [--edition-distributor EDITION_DISTRIBUTOR]
                        [--edition-catalogue-number EDITION_CATALOGUE_NUMBER]
                        [--poster POSTER] [--trailer TRAILER]
                        [--only-description]
                        CONTENT

Generate all required metadata and upload it to SC.

For step-by-step instructions run this command:

    $ upsies submit sc --howto-setup

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --howto-setup         Show detailed instructions on how to do your first
                        upload
  --is-scene IS_SCENE   Whether this is a scene release (usually autodetected)
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)
  --ignore-rules, --ir  Allow submission if it is against tracker rules
  --confirm CONFIRM, --co CONFIRM
                        Whether to ask if you really want to submit after all
                        metadata is generated
                        Valid values: true/false, yes/no, 1/0, on/off, aye/nay
  --imdb IMDB, --im IMDB
                        IMDb ID or URL
  --screenshots-count SCREENSHOTS_COUNT, --ssc SCREENSHOTS_COUNT
                        How many screenshots to make (min=3, max=10)
  --screenshots SCREENSHOT [SCREENSHOT ...], --ss SCREENSHOT [SCREENSHOT ...]
                        Path(s) to existing screenshot file(s)
                        Directories are searched recursively.
                        More screenshots are created if necessary.
  --edition EDITION     Edition information in the format
                        "YEAR,TITLE,DISTRIBUTOR,CATALOGUE_NUMBER"
                        Every value except for YEAR may be empty.
  --edition-year EDITION_YEAR, --ey EDITION_YEAR
                        Editon year (overloads YEAR from --edition)
  --edition-title EDITION_TITLE, --et EDITION_TITLE
                        Editon title (overloads TITLE from --edition)
  --edition-distributor EDITION_DISTRIBUTOR, --ed EDITION_DISTRIBUTOR
                        Editon year (overloads DISTRIBUTOR in --edition)
  --edition-catalogue-number EDITION_CATALOGUE_NUMBER, --ec EDITION_CATALOGUE_NUMBER
                        Editon year (overloads CATALOGUE_NUMBER in --edition)
  --poster POSTER, --po POSTER
                        Path or URL to poster image
  --trailer TRAILER, --tr TRAILER
                        Trailer URL (Vimeo or YouTube)
  --only-description, --od
                        Only generate description (do not submit)

torrent-add (ta)

$ upsies torrent-add --help
usage: upsies torrent-add [-h] [--download-path DIRECTORY]
                          CLIENT TORRENT [TORRENT ...]

Add torrent file to BitTorrent client

positional arguments:
  CLIENT                BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  TORRENT               Path to torrent file

options:
  -h, --help            show this help message and exit
  --download-path DIRECTORY, -p DIRECTORY
                        Parent directory of the torrent's content

torrent-create (tc)

$ upsies torrent-create --help
usage: upsies torrent-create [-h] TRACKER ...

Create torrent file and optionally add or copy it

The piece hashes are cached and re-used if possible. This means the torrent
is not generated for every tracker again. Note that the torrent is always
generated if files are excluded on one tracker but not on the other. The
files in each torrent must be identical.

Run "upsies torrent-create TRACKER --help" for more information.

positional arguments:
  TRACKER     Valid values: ant, bhd, cbr, fld, mtv, nbl, ptp, rfx, sc

options:
  -h, --help  show this help message and exit

torrent-create (tc) ant

$ upsies torrent-create ant --help
usage: upsies torrent-create ant [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for ANT in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) bhd

$ upsies torrent-create bhd --help
usage: upsies torrent-create bhd [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for BHD in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) cbr

$ upsies torrent-create cbr --help
usage: upsies torrent-create cbr [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for CBR in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) fld

$ upsies torrent-create fld --help
usage: upsies torrent-create fld [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for FLD in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) mtv

$ upsies torrent-create mtv --help
usage: upsies torrent-create mtv [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for MTV in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) nbl

$ upsies torrent-create nbl --help
usage: upsies torrent-create nbl [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for NBL in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) ptp

$ upsies torrent-create ptp --help
usage: upsies torrent-create ptp [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for PTP in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) rfx

$ upsies torrent-create rfx --help
usage: upsies torrent-create rfx [-h] [--exclude-files PATTERN [PATTERN ...]]
                                 [--exclude-files-regex PATTERN [PATTERN ...]]
                                 [--reuse-torrent TORRENT [TORRENT ...]]
                                 [--add-to CLIENT] [--copy-to PATH]
                                 CONTENT

Create a torrent file for RFX in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

torrent-create (tc) sc

$ upsies torrent-create sc --help
usage: upsies torrent-create sc [-h] [--exclude-files PATTERN [PATTERN ...]]
                                [--exclude-files-regex PATTERN [PATTERN ...]]
                                [--reuse-torrent TORRENT [TORRENT ...]]
                                [--add-to CLIENT] [--copy-to PATH]
                                CONTENT

Create a torrent file for SC in the current working directory.

positional arguments:
  CONTENT               Path to release content

options:
  -h, --help            show this help message and exit
  --exclude-files PATTERN [PATTERN ...], --ef PATTERN [PATTERN ...]
                        Glob pattern to exclude from torrent (matched case-
                        insensitively against path in torrent)
  --exclude-files-regex PATTERN [PATTERN ...], --efr PATTERN [PATTERN ...]
                        Regular expression to exclude from torrent (matched
                        case-sensitively against path in torrent)
  --reuse-torrent TORRENT [TORRENT ...], -t TORRENT [TORRENT ...]
                        Use hashed pieces from TORRENT instead of generating
                        them again or getting them from
                        ~/.cache/upsies/generic_torrents
                        TORRENT may also be a directory, which is searched
                        recursively for a matching *.torrent file.
                        NOTE: This option is ignored if TORRENT doesn't match
                        CONTENT properly.
  --add-to CLIENT, -a CLIENT
                        BitTorrent client name.
                        Valid names are section names in
                        ~/.config/upsies/clients.ini.
  --copy-to PATH, -c PATH
                        Copy the created torrent to PATH (file or directory)

upload-images (ui)

$ upsies upload-images --help
usage: upsies upload-images [-h] IMAGE_HOST ...

Upload images to image hosting service

Run "upsies upload-images IMAGE_HOST --help" for more information.

positional arguments:
  IMAGE_HOST  Valid values: freeimage, imgbb, imgbox, pixhost, ptpimg, ra,
              rfximg

options:
  -h, --help  show this help message and exit

upload-images (ui) freeimage

$ upsies upload-images freeimage --help
usage: upsies upload-images freeimage [-h] [--thumb-width WIDTH]
                                      [--format FORMAT]
                                      IMAGE [IMAGE ...]

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) imgbb

$ upsies upload-images imgbb --help
usage: upsies upload-images imgbb [-h] [--thumb-width WIDTH] [--format FORMAT]
                                  IMAGE [IMAGE ...]

You need an API key to upload images. You can get one by following these steps:

  1. Create an account: https://imgbb.com/signup
  2. Go to https://api.imgbb.com/ and click on "Get API key".
  3. Store your API key in ~/.config/upsies/imghosts.ini:

       $ upsies set imghosts.imgbb.apikey <YOUR API KEY>

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) imgbox

$ upsies upload-images imgbox --help
usage: upsies upload-images imgbox [-h] [--thumb-width WIDTH] [--format FORMAT]
                                   IMAGE [IMAGE ...]

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) pixhost

$ upsies upload-images pixhost --help
usage: upsies upload-images pixhost [-h] [--thumb-width WIDTH] [--format FORMAT]
                                    IMAGE [IMAGE ...]

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) ptpimg

$ upsies upload-images ptpimg --help
usage: upsies upload-images ptpimg [-h] [--thumb-width WIDTH] [--format FORMAT]
                                   IMAGE [IMAGE ...]

You need an API key to upload images.

  1. Create an account: https://ptpimg.me/register.php
  2. Store your API key in ~/.config/upsies/imghosts.ini:

       $ upsies set --fetch-ptpimg-apikey EMAIL PASSWORD

     If you already have your API key, store it like this:

       $ upsies set imghosts.ptpimg.apikey YOUR_API_KEY

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) ra

$ upsies upload-images ra --help
usage: upsies upload-images ra [-h] [--thumb-width WIDTH] [--format FORMAT]
                               IMAGE [IMAGE ...]

You need an API key/token to upload images.

  1. Go to https://thesungod.xyz/settings/profile -> API Key.
  2. Fill in a token name and click on "Generate Token".
  3. Store your "New Token" in ~/.config/upsies/imghosts.ini:

       $ upsies set imghosts.ra.apikey YOUR_API_KEY

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"

upload-images (ui) rfximg

$ upsies upload-images rfximg --help
usage: upsies upload-images rfximg [-h] [--thumb-width WIDTH] [--format FORMAT]
                                   IMAGE [IMAGE ...]

You need an API key to upload images.

  1. Go to your user page -> Settings -> Image host API key.
  2. Click on "Generate image host API key".
  3. Store the generated API key in ~/.config/upsies/imghosts.ini:

       $ upsies set imghosts.rfximg.apikey YOUR_API_KEY

positional arguments:
  IMAGE                 Path to image file

options:
  -h, --help            show this help message and exit
  --thumb-width WIDTH, --tw WIDTH, -t WIDTH
                        Thumbnail width in pixels or 0 for no thumbnail
  --format FORMAT, -f FORMAT
                        Format string for each uploaded image
                        Use {url} for the full-size image URL and {thumbnail}
                        for the thumbnail URL
                        Example: "[url={url}][img]{thumbnail}[/img][/url]"