diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/completion/_gallery-dl | 12 | ||||
| -rw-r--r-- | data/completion/gallery-dl | 4 | ||||
| -rw-r--r-- | data/completion/gallery-dl.fish | 12 | ||||
| -rw-r--r-- | data/man/gallery-dl.1 | 24 | ||||
| -rw-r--r-- | data/man/gallery-dl.conf.5 | 313 |
5 files changed, 324 insertions, 41 deletions
diff --git a/data/completion/_gallery-dl b/data/completion/_gallery-dl index 06e8556..a82db8a 100644 --- a/data/completion/_gallery-dl +++ b/data/completion/_gallery-dl @@ -8,9 +8,10 @@ _arguments -C -S \ {-h,--help}'[Print this help message and exit]' \ --version'[Print program version and exit]' \ {-i,--input-file}'[Download URLs found in FILE ("-" for stdin). More than one --input-file can be specified]':'<file>':_files \ +{-f,--filename}'[Filename format string for downloaded files ("/O" for "original" filenames)]':'<format>' \ {-d,--destination}'[Target location for file downloads]':'<path>' \ {-D,--directory}'[Exact location for file downloads]':'<path>' \ -{-f,--filename}'[Filename format string for downloaded files ("/O" for "original" filenames)]':'<format>' \ +{-X,--extractors}'[Load external extractors from PATH]':'<path>' \ --proxy'[Use the specified proxy]':'<url>' \ --source-address'[Client-side IP address to bind to]':'<ip>' \ --user-agent'[User-Agent request header]':'<ua>' \ @@ -45,10 +46,13 @@ _arguments -C -S \ --no-download'[Do not download any files]' \ --no-postprocessors'[Do not run any post processors]' \ --no-check-certificate'[Disable HTTPS certificate validation]' \ +{-o,--option}'[Additional options. Example: -o browser=firefox]':'<key=value>' \ {-c,--config}'[Additional configuration files]':'<file>':_files \ ---config-yaml'[==SUPPRESS==]':'<file>':_files \ -{-o,--option}'[Additional "<key>=<value>" option values]':'<opt>' \ ---ignore-config'[Do not read default configuration files]' \ +--config-yaml'[Additional configuration files in YAML format]':'<file>':_files \ +--config-toml'[Additional configuration files in TOML format]':'<file>':_files \ +--config-create'[Create a basic configuration file]' \ +--config-ignore'[Do not read default configuration files]' \ +--ignore-config'[==SUPPRESS==]' \ {-u,--username}'[Username to login with]':'<user>' \ {-p,--password}'[Password belonging to the given username]':'<pass>' \ --netrc'[Enable .netrc authentication data]' \ diff --git a/data/completion/gallery-dl b/data/completion/gallery-dl index 203c87d..1750af8 100644 --- a/data/completion/gallery-dl +++ b/data/completion/gallery-dl @@ -5,12 +5,12 @@ _gallery_dl() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" - if [[ "${prev}" =~ ^(-i|--input-file|--cookies|--write-log|--write-unsupported|-c|--config|--config-yaml|--download-archive)$ ]]; then + if [[ "${prev}" =~ ^(-i|--input-file|--cookies|--write-log|--write-unsupported|-c|--config|--config-yaml|--config-toml|--download-archive)$ ]]; then COMPREPLY=( $(compgen -f -- "${cur}") ) elif [[ "${prev}" =~ ^()$ ]]; then COMPREPLY=( $(compgen -d -- "${cur}") ) else - COMPREPLY=( $(compgen -W "--help --version --input-file --destination --directory --filename --proxy --source-address --user-agent --clear-cache --cookies --cookies-from-browser --quiet --verbose --get-urls --resolve-urls --dump-json --simulate --extractor-info --list-keywords --list-modules --list-extractors --write-log --write-unsupported --write-pages --limit-rate --retries --http-timeout --sleep --sleep-request --sleep-extractor --filesize-min --filesize-max --chunk-size --no-part --no-skip --no-mtime --no-download --no-postprocessors --no-check-certificate --config --config-yaml --option --ignore-config --username --password --netrc --download-archive --abort --terminate --range --chapter-range --filter --chapter-filter --zip --ugoira-conv --ugoira-conv-lossless --ugoira-conv-copy --write-metadata --write-info-json --write-infojson --write-tags --mtime-from-date --exec --exec-after --postprocessor --postprocessor-option" -- "${cur}") ) + COMPREPLY=( $(compgen -W "--help --version --input-file --filename --destination --directory --extractors --proxy --source-address --user-agent --clear-cache --cookies --cookies-from-browser --quiet --verbose --get-urls --resolve-urls --dump-json --simulate --extractor-info --list-keywords --list-modules --list-extractors --write-log --write-unsupported --write-pages --limit-rate --retries --http-timeout --sleep --sleep-request --sleep-extractor --filesize-min --filesize-max --chunk-size --no-part --no-skip --no-mtime --no-download --no-postprocessors --no-check-certificate --option --config --config-yaml --config-toml --config-create --config-ignore --ignore-config --username --password --netrc --download-archive --abort --terminate --range --chapter-range --filter --chapter-filter --zip --ugoira-conv --ugoira-conv-lossless --ugoira-conv-copy --write-metadata --write-info-json --write-infojson --write-tags --mtime-from-date --exec --exec-after --postprocessor --postprocessor-option" -- "${cur}") ) fi } diff --git a/data/completion/gallery-dl.fish b/data/completion/gallery-dl.fish index e2a7e6d..d764543 100644 --- a/data/completion/gallery-dl.fish +++ b/data/completion/gallery-dl.fish @@ -2,9 +2,10 @@ complete -c gallery-dl -x complete -c gallery-dl -s 'h' -l 'help' -d 'Print this help message and exit' complete -c gallery-dl -l 'version' -d 'Print program version and exit' complete -c gallery-dl -r -F -s 'i' -l 'input-file' -d 'Download URLs found in FILE ("-" for stdin). More than one --input-file can be specified' +complete -c gallery-dl -x -s 'f' -l 'filename' -d 'Filename format string for downloaded files ("/O" for "original" filenames)' complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'd' -l 'destination' -d 'Target location for file downloads' complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'D' -l 'directory' -d 'Exact location for file downloads' -complete -c gallery-dl -x -s 'f' -l 'filename' -d 'Filename format string for downloaded files ("/O" for "original" filenames)' +complete -c gallery-dl -x -a '(__fish_complete_directories)' -s 'X' -l 'extractors' -d 'Load external extractors from PATH' complete -c gallery-dl -x -l 'proxy' -d 'Use the specified proxy' complete -c gallery-dl -x -l 'source-address' -d 'Client-side IP address to bind to' complete -c gallery-dl -x -l 'user-agent' -d 'User-Agent request header' @@ -39,10 +40,13 @@ complete -c gallery-dl -l 'no-mtime' -d 'Do not set file modification times acco complete -c gallery-dl -l 'no-download' -d 'Do not download any files' complete -c gallery-dl -l 'no-postprocessors' -d 'Do not run any post processors' complete -c gallery-dl -l 'no-check-certificate' -d 'Disable HTTPS certificate validation' +complete -c gallery-dl -x -s 'o' -l 'option' -d 'Additional options. Example: -o browser=firefox' complete -c gallery-dl -r -F -s 'c' -l 'config' -d 'Additional configuration files' -complete -c gallery-dl -r -F -l 'config-yaml' -d '==SUPPRESS==' -complete -c gallery-dl -x -s 'o' -l 'option' -d 'Additional "<key>=<value>" option values' -complete -c gallery-dl -l 'ignore-config' -d 'Do not read default configuration files' +complete -c gallery-dl -r -F -l 'config-yaml' -d 'Additional configuration files in YAML format' +complete -c gallery-dl -r -F -l 'config-toml' -d 'Additional configuration files in TOML format' +complete -c gallery-dl -l 'config-create' -d 'Create a basic configuration file' +complete -c gallery-dl -l 'config-ignore' -d 'Do not read default configuration files' +complete -c gallery-dl -l 'ignore-config' -d '==SUPPRESS==' complete -c gallery-dl -x -s 'u' -l 'username' -d 'Username to login with' complete -c gallery-dl -x -s 'p' -l 'password' -d 'Password belonging to the given username' complete -c gallery-dl -l 'netrc' -d 'Enable .netrc authentication data' diff --git a/data/man/gallery-dl.1 b/data/man/gallery-dl.1 index 024ddb3..27d3a09 100644 --- a/data/man/gallery-dl.1 +++ b/data/man/gallery-dl.1 @@ -1,4 +1,4 @@ -.TH "GALLERY-DL" "1" "2023-01-28" "1.24.5" "gallery-dl Manual" +.TH "GALLERY-DL" "1" "2023-03-11" "1.25.0" "gallery-dl Manual" .\" disable hyphenation .nh @@ -26,14 +26,17 @@ Print program version and exit .B "\-i, \-\-input\-file" \f[I]FILE\f[] Download URLs found in FILE ('-' for stdin). More than one --input-file can be specified .TP +.B "\-f, \-\-filename" \f[I]FORMAT\f[] +Filename format string for downloaded files ('/O' for "original" filenames) +.TP .B "\-d, \-\-destination" \f[I]PATH\f[] Target location for file downloads .TP .B "\-D, \-\-directory" \f[I]PATH\f[] Exact location for file downloads .TP -.B "\-f, \-\-filename" \f[I]FORMAT\f[] -Filename format string for downloaded files ('/O' for "original" filenames) +.B "\-X, \-\-extractors" \f[I]PATH\f[] +Load external extractors from PATH .TP .B "\-\-proxy" \f[I]URL\f[] Use the specified proxy @@ -137,13 +140,22 @@ Do not run any post processors .B "\-\-no\-check\-certificate" Disable HTTPS certificate validation .TP +.B "\-o, \-\-option" \f[I]KEY=VALUE\f[] +Additional options. Example: -o browser=firefox +.TP .B "\-c, \-\-config" \f[I]FILE\f[] Additional configuration files .TP -.B "\-o, \-\-option" \f[I]OPT\f[] -Additional '<key>=<value>' option values +.B "\-\-config\-yaml" \f[I]FILE\f[] +Additional configuration files in YAML format +.TP +.B "\-\-config\-toml" \f[I]FILE\f[] +Additional configuration files in TOML format +.TP +.B "\-\-config\-create" +Create a basic configuration file .TP -.B "\-\-ignore\-config" +.B "\-\-config\-ignore" Do not read default configuration files .TP .B "\-u, \-\-username" \f[I]USER\f[] diff --git a/data/man/gallery-dl.conf.5 b/data/man/gallery-dl.conf.5 index 6b11835..a0fd629 100644 --- a/data/man/gallery-dl.conf.5 +++ b/data/man/gallery-dl.conf.5 @@ -1,4 +1,4 @@ -.TH "GALLERY-DL.CONF" "5" "2023-01-28" "1.24.5" "gallery-dl Manual" +.TH "GALLERY-DL.CONF" "5" "2023-03-11" "1.25.0" "gallery-dl Manual" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) @@ -456,6 +456,8 @@ and optional for .br * \f[I]e621\f[] (*) .br +* \f[I]e926\f[] (*) +.br * \f[I]exhentai\f[] .br * \f[I]idolcomplex\f[] @@ -897,6 +899,20 @@ An alternative \f[I]format string\f[] to build archive IDs with. Prefix for archive IDs. +.SS extractor.*.archive-pragma +.IP "Type:" 6 +\f[I]list\f[] of \f[I]strings\f[] + +.IP "Example:" 4 +["journal_mode=WAL", "synchronous=NORMAL"] + +.IP "Description:" 4 +A list of SQLite \f[I]PRAGMA\f[] statements to run during archive initialization. + +See \f[I]<https://www.sqlite.org/pragma.html>\f[] +for available \f[I]PRAGMA\f[] statements and further details. + + .SS extractor.*.postprocessors .IP "Type:" 6 \f[I]list\f[] of \f[I]Postprocessor Configuration\f[] objects @@ -1288,7 +1304,23 @@ For unavailable or restricted posts, follow the \f[I]source\f[] and download from there if possible. -.SS extractor.danbooru.metadata +.SS extractor.danbooru.ugoira +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]false\f[] + +.IP "Description:" 4 +Controls the download target for Ugoira posts. + +.br +* \f[I]true\f[]: Original ZIP archives +.br +* \f[I]false\f[]: Converted video files + + +.SS extractor.[Danbooru].metadata .IP "Type:" 6 .br * \f[I]bool\f[] @@ -1317,7 +1349,7 @@ for possible field names. \f[I]aibooru\f[] also supports \f[I]ai_metadata\f[]. Note: This requires 1 additional HTTP request per post. -.SS extractor.danbooru.threshold +.SS extractor.{Danbooru].threshold .IP "Type:" 6 .br * \f[I]string\f[] @@ -1330,30 +1362,13 @@ Note: This requires 1 additional HTTP request per post. .IP "Description:" 4 Stop paginating over API results if the length of a batch of returned posts is less than the specified number. Defaults to the per-page limit -of the current instance, which is 320 for \f[I]e621\f[] and 200 for -everything else. +of the current instance, which is 200. Note: Changing this setting is normally not necessary. When the value is greater than the per-page limit, gallery-dl will stop after the first batch. The value cannot be less than 1. -.SS extractor.danbooru.ugoira -.IP "Type:" 6 -\f[I]bool\f[] - -.IP "Default:" 9 -\f[I]false\f[] - -.IP "Description:" 4 -Controls the download target for Ugoira posts. - -.br -* \f[I]true\f[]: Original ZIP archives -.br -* \f[I]false\f[]: Converted video files - - .SS extractor.derpibooru.api-key .IP "Type:" 6 \f[I]string\f[] @@ -1617,6 +1632,50 @@ or whenever your \f[I]cache file\f[] is deleted or cleared. Minimum wait time in seconds before API requests. +.SS extractor.[E621].metadata +.IP "Type:" 6 +.br +* \f[I]bool\f[] +.br +* \f[I]string\f[] +.br +* \f[I]list\f[] of \f[I]strings\f[] + +.IP "Default:" 9 +\f[I]false\f[] + +.IP "Example:" 4 +.br +* notes,pools +.br +* ["notes", "pools" + +.IP "Description:" 4 +Extract additional metadata (notes, pool metadata) if available. + +Note: This requires 0-2 additional HTTP requests per post. + + +.SS extractor.[E621].threshold +.IP "Type:" 6 +.br +* \f[I]string\f[] +.br +* \f[I]integer\f[] + +.IP "Default:" 9 +\f[I]"auto"\f[] + +.IP "Description:" 4 +Stop paginating over API results if the length of a batch of returned +posts is less than the specified number. Defaults to the per-page limit +of the current instance, which is 320. + +Note: Changing this setting is normally not necessary. When the value is +greater than the per-page limit, gallery-dl will stop after the first +batch. The value cannot be less than 1. + + .SS extractor.exhentai.domain .IP "Type:" 6 \f[I]string\f[] @@ -2302,6 +2361,28 @@ Fetch media from replies to other posts. Also emit metadata for text-only posts without media content. +.SS extractor.[misskey].renotes +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]false\f[] + +.IP "Description:" 4 +Fetch media from renoted notes. + + +.SS extractor.[misskey].replies +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]true\f[] + +.IP "Description:" 4 +Fetch media from replies to other notes. + + .SS extractor.nana.favkey .IP "Type:" 6 \f[I]string\f[] @@ -2884,8 +2965,16 @@ HLS and DASH manifests * \f[I]"ytdl"\f[]: Download videos and let \f[I]youtube-dl\f[] handle all of video extraction and download .br +* \f[I]"dash"\f[]: Extract DASH manifest URLs and use \f[I]youtube-dl\f[] +to download and merge them. (*) +.br * \f[I]false\f[]: Ignore videos +(*) +This saves 1 HTTP request per video +and might potentially be able to download otherwise deleted videos, +but it will not always get the best video quality available. + .SS extractor.redgifs.format .IP "Type:" 6 @@ -3003,6 +3092,17 @@ Filters used during searches. Download video files. +.SS extractor.[szurubooru].username & .token +.IP "Type:" 6 +\f[I]string\f[] + +.IP "Description:" 4 +Username and login token of your account to access private resources. + +To generate a token, visit \f[I]/user/USERNAME/list-tokens\f[] +and click \f[I]Create Token\f[]. + + .SS extractor.tumblr.avatar .IP "Type:" 6 \f[I]bool\f[] @@ -3282,6 +3382,17 @@ Age-restricted replies cannot be expanded when using the \f[I]syndication\f[] API. +.SS extractor.twitter.transform +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]true\f[] + +.IP "Description:" 4 +Transform Tweet and User metadata into a simpler, uniform format. + + .SS extractor.twitter.size .IP "Type:" 6 \f[I]list\f[] of \f[I]strings\f[] @@ -4316,6 +4427,50 @@ For these format strings * \f[I]{3}\f[] is percent of bytes downloaded to total bytes +.SS output.stdout & .stdin & .stderr +.IP "Type:" 6 +.br +* \f[I]string\f[] +.br +* \f[I]object\f[] + +.IP "Example:" 4 +.. code:: json + +"utf-8" + +.. code:: json + +{ +"encoding": "utf-8", +"errors": "replace", +"line_buffering": true +} + + +.IP "Description:" 4 +\f[I]Reconfigure\f[] +a \f[I]standard stream\f[]. + +Possible options are + +.br +* \f[I]encoding\f[] +.br +* \f[I]errors\f[] +.br +* \f[I]newline\f[] +.br +* \f[I]line_buffering\f[] +.br +* \f[I]write_through\f[] + +When this option is specified as a simple \f[I]string\f[], +it is interpreted as \f[I]{"encoding": "<string-value>", "errors": "replace"}\f[] + +Note: \f[I]errors\f[] always defaults to \f[I]"replace"\f[] + + .SS output.shorten .IP "Type:" 6 \f[I]bool\f[] @@ -4547,6 +4702,21 @@ after \f[I]N\f[] consecutive files compared as equal. Only compare file sizes. Do not read and compare their content. +.SS exec.archive +.IP "Type:" 6 +\f[I]Path\f[] + +.IP "Description:" 4 +File to store IDs of executed commands in, +similar to \f[I]extractor.*.archive\f[]. + +\f[I]archive-format\f[], \f[I]archive-prefix\f[], and \f[I]archive-pragma\f[] options, +akin to +\f[I]extractor.*.archive-format\f[], +\f[I]extractor.*.archive-prefix\f[], and +\f[I]extractor.*.archive-pragma\f[], are supported as well. + + .SS exec.async .IP "Type:" 6 \f[I]bool\f[] @@ -4775,6 +4945,21 @@ Custom format string to build the content of metadata files with. Note: Only applies for \f[I]"mode": "custom"\f[]. +.SS metadata.ascii +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]false\f[] + +.IP "Description:" 4 +Escape all non-ASCII characters. + +See the \f[I]ensure_ascii\f[] argument of \f[I]json.dump()\f[] for further details. + +Note: Only applies for \f[I]"mode": "json"\f[] and \f[I]"jsonl"\f[]. + + .SS metadata.indent .IP "Type:" 6 .br @@ -4793,6 +4978,37 @@ See the \f[I]indent\f[] argument of \f[I]json.dump()\f[] for further details. Note: Only applies for \f[I]"mode": "json"\f[]. +.SS metadata.separators +.IP "Type:" 6 +\f[I]list\f[] with two \f[I]string\f[] elements + +.IP "Default:" 9 +\f[I][", ", ": "]\f[] + +.IP "Description:" 4 +\f[I]<item separator>\f[] - \f[I]<key separator>\f[] pair +to separate JSON keys and values with. + +See the \f[I]separators\f[] argument of \f[I]json.dump()\f[] for further details. + +Note: Only applies for \f[I]"mode": "json"\f[] and \f[I]"jsonl"\f[]. + + +.SS metadata.sort +.IP "Type:" 6 +\f[I]bool\f[] + +.IP "Default:" 9 +\f[I]false\f[] + +.IP "Description:" 4 +Sort output by key. + +See the \f[I]sort_keys\f[] argument of \f[I]json.dump()\f[] for further details. + +Note: Only applies for \f[I]"mode": "json"\f[] and \f[I]"jsonl"\f[]. + + .SS metadata.open .IP "Type:" 6 \f[I]string\f[] @@ -4843,9 +5059,11 @@ i.e. fields whose name starts with an underscore. File to store IDs of generated metadata files in, similar to \f[I]extractor.*.archive\f[]. -\f[I]archive-format\f[] and \f[I]archive-prefix\f[] options, -akin to \f[I]extractor.*.archive-format\f[] and \f[I]extractor.*.archive-prefix\f[], -are supported as well. +\f[I]archive-format\f[], \f[I]archive-prefix\f[], and \f[I]archive-pragma\f[] options, +akin to +\f[I]extractor.*.archive-format\f[], +\f[I]extractor.*.archive-prefix\f[], and +\f[I]extractor.*.archive-pragma\f[], are supported as well. .SS metadata.mtime @@ -5152,10 +5370,55 @@ The \f[I]modules\f[] list in ["reddit", "danbooru", "mangadex"] .IP "Description:" 4 -The list of modules to load when searching for a suitable +List of internal modules to load when searching for a suitable extractor class. Useful to reduce startup time and memory usage. +.SS extractor.module-sources +.IP "Type:" 6 +\f[I]list\f[] of \f[I]Path\f[] instances + +.IP "Example:" 4 +["~/.config/gallery-dl/modules", null] + +.IP "Description:" 4 +List of directories to load external extractor modules from. + +Any file in a specified directory with a \f[I].py\f[] filename extension +gets \f[I]imported\f[] +and searched for potential extractors, +i.e. classes with a \f[I]pattern\f[] attribute. + +Note: \f[I]null\f[] references internal extractors defined in +\f[I]extractor/__init__.py\f[] +or by \f[I]extractor.modules\f[]. + + +.SS globals +.IP "Type:" 6 +.br +* \f[I]Path\f[] +.br +* \f[I]string\f[] + +.IP "Example:" 4 +.br +* "~/.local/share/gdl-globals.py" +.br +* "gdl-globals" + +.IP "Default:" 9 +The \f[I]GLOBALS\f[] dict in +\f[I]util.py\f[] + +.IP "Description:" 4 +Path to or name of an +\f[I]importable\f[] +Python module whose namespace gets used as an alternative +\f[I]globals parameter\f[] +for compiled Python expressions. + + .SS cache.file .IP "Type:" 6 \f[I]Path\f[] |
