aboutsummaryrefslogtreecommitdiffstats
path: root/data
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-01-11 04:09:13 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2023-01-11 04:09:13 -0500
commitfe385c3ff784ba3d19454a35446502c0ec295893 (patch)
tree897982793ef2a0c0f349044bf4cf803ccd483e6e /data
parentebdfcd3cd3f76534a590ba08933ff7ea54813316 (diff)
New upstream version 1.24.3.upstream/1.24.3
Diffstat (limited to 'data')
-rw-r--r--data/completion/_gallery-dl12
-rw-r--r--data/completion/gallery-dl.fish12
-rw-r--r--data/man/gallery-dl.118
-rw-r--r--data/man/gallery-dl.conf.5623
4 files changed, 490 insertions, 175 deletions
diff --git a/data/completion/_gallery-dl b/data/completion/_gallery-dl
index 13ee2ea..1125b36 100644
--- a/data/completion/_gallery-dl
+++ b/data/completion/_gallery-dl
@@ -48,17 +48,17 @@ _arguments -C -S \
{-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 the default configuration files]' \
+--ignore-config'[Do not read default configuration files]' \
{-u,--username}'[Username to login with]':'<user>' \
{-p,--password}'[Password belonging to the given username]':'<pass>' \
--netrc'[Enable .netrc authentication data]' \
---download-archive'[Record all downloaded files in the archive file and skip downloading any file already in it]':'<file>':_files \
+--download-archive'[Record all downloaded or skipped files in FILE and skip downloading any file already in it]':'<file>':_files \
{-A,--abort}'[Stop current extractor run after N consecutive file downloads were skipped]':'<n>' \
{-T,--terminate}'[Stop current and parent extractor runs after N consecutive file downloads were skipped]':'<n>' \
---range'[Index-range(s) specifying which images to download. For example "5-10" or "1,3-5,10-"]':'<range>' \
---chapter-range'[Like "--range", but applies to manga-chapters and other delegated URLs]':'<range>' \
---filter'[Python expression controlling which images to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by "-K". Example: --filter "image_width >= 1000 and rating in ("s", "q")"]':'<expr>' \
---chapter-filter'[Like "--filter", but applies to manga-chapters and other delegated URLs]':'<expr>' \
+--range'[Index range(s) specifying which files to download. These can be either a constant value, range, or slice (e.g. "5", "8-20", or "1:24:3")]':'<range>' \
+--chapter-range'[Like "--range", but applies to manga chapters and other delegated URLs]':'<range>' \
+--filter'[Python expression controlling which files to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by "-K". Example: --filter "image_width >= 1000 and rating in ("s", "q")"]':'<expr>' \
+--chapter-filter'[Like "--filter", but applies to manga chapters and other delegated URLs]':'<expr>' \
--zip'[Store downloaded files in a ZIP archive]' \
--ugoira-conv'[Convert Pixiv Ugoira to WebM (requires FFmpeg)]' \
--ugoira-conv-lossless'[Convert Pixiv Ugoira to WebM in VP9 lossless mode]' \
diff --git a/data/completion/gallery-dl.fish b/data/completion/gallery-dl.fish
index 50ad132..986d9df 100644
--- a/data/completion/gallery-dl.fish
+++ b/data/completion/gallery-dl.fish
@@ -42,17 +42,17 @@ complete -c gallery-dl -l 'no-check-certificate' -d 'Disable HTTPS certificate v
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 the default configuration files'
+complete -c gallery-dl -l 'ignore-config' -d 'Do not read default configuration files'
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'
-complete -c gallery-dl -r -F -l 'download-archive' -d 'Record all downloaded files in the archive file and skip downloading any file already in it'
+complete -c gallery-dl -r -F -l 'download-archive' -d 'Record all downloaded or skipped files in FILE and skip downloading any file already in it'
complete -c gallery-dl -x -s 'A' -l 'abort' -d 'Stop current extractor run after N consecutive file downloads were skipped'
complete -c gallery-dl -x -s 'T' -l 'terminate' -d 'Stop current and parent extractor runs after N consecutive file downloads were skipped'
-complete -c gallery-dl -x -l 'range' -d 'Index-range(s) specifying which images to download. For example "5-10" or "1,3-5,10-"'
-complete -c gallery-dl -x -l 'chapter-range' -d 'Like "--range", but applies to manga-chapters and other delegated URLs'
-complete -c gallery-dl -x -l 'filter' -d 'Python expression controlling which images to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by "-K". Example: --filter "image_width >= 1000 and rating in ("s", "q")"'
-complete -c gallery-dl -x -l 'chapter-filter' -d 'Like "--filter", but applies to manga-chapters and other delegated URLs'
+complete -c gallery-dl -x -l 'range' -d 'Index range(s) specifying which files to download. These can be either a constant value, range, or slice (e.g. "5", "8-20", or "1:24:3")'
+complete -c gallery-dl -x -l 'chapter-range' -d 'Like "--range", but applies to manga chapters and other delegated URLs'
+complete -c gallery-dl -x -l 'filter' -d 'Python expression controlling which files to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by "-K". Example: --filter "image_width >= 1000 and rating in ("s", "q")"'
+complete -c gallery-dl -x -l 'chapter-filter' -d 'Like "--filter", but applies to manga chapters and other delegated URLs'
complete -c gallery-dl -l 'zip' -d 'Store downloaded files in a ZIP archive'
complete -c gallery-dl -l 'ugoira-conv' -d 'Convert Pixiv Ugoira to WebM (requires FFmpeg)'
complete -c gallery-dl -l 'ugoira-conv-lossless' -d 'Convert Pixiv Ugoira to WebM in VP9 lossless mode'
diff --git a/data/man/gallery-dl.1 b/data/man/gallery-dl.1
index d85b1c9..e88dd4f 100644
--- a/data/man/gallery-dl.1
+++ b/data/man/gallery-dl.1
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL" "1" "2022-12-18" "1.24.2" "gallery-dl Manual"
+.TH "GALLERY-DL" "1" "2023-01-10" "1.24.3" "gallery-dl Manual"
.\" disable hyphenation
.nh
@@ -144,7 +144,7 @@ Additional configuration files
Additional '<key>=<value>' option values
.TP
.B "\-\-ignore\-config"
-Do not read the default configuration files
+Do not read default configuration files
.TP
.B "\-u, \-\-username" \f[I]USER\f[]
Username to login with
@@ -156,7 +156,7 @@ Password belonging to the given username
Enable .netrc authentication data
.TP
.B "\-\-download\-archive" \f[I]FILE\f[]
-Record all downloaded files in the archive file and skip downloading any file already in it
+Record all downloaded or skipped files in FILE and skip downloading any file already in it
.TP
.B "\-A, \-\-abort" \f[I]N\f[]
Stop current extractor run after N consecutive file downloads were skipped
@@ -165,16 +165,16 @@ Stop current extractor run after N consecutive file downloads were skipped
Stop current and parent extractor runs after N consecutive file downloads were skipped
.TP
.B "\-\-range" \f[I]RANGE\f[]
-Index-range(s) specifying which images to download. For example '5-10' or '1,3-5,10-'
+Index range(s) specifying which files to download. These can be either a constant value, range, or slice (e.g. '5', '8-20', or '1:24:3')
.TP
.B "\-\-chapter\-range" \f[I]RANGE\f[]
-Like '--range', but applies to manga-chapters and other delegated URLs
+Like '--range', but applies to manga chapters and other delegated URLs
.TP
.B "\-\-filter" \f[I]EXPR\f[]
-Python expression controlling which images to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by '-K'. Example: --filter "image_width >= 1000 and rating in ('s', 'q')"
+Python expression controlling which files to download. Files for which the expression evaluates to False are ignored. Available keys are the filename-specific ones listed by '-K'. Example: --filter "image_width >= 1000 and rating in ('s', 'q')"
.TP
.B "\-\-chapter\-filter" \f[I]EXPR\f[]
-Like '--filter', but applies to manga-chapters and other delegated URLs
+Like '--filter', but applies to manga chapters and other delegated URLs
.TP
.B "\-\-zip"
Store downloaded files in a ZIP archive
@@ -201,10 +201,10 @@ Write image tags to separate text files
Set file modification times according to 'date' metadata
.TP
.B "\-\-exec" \f[I]CMD\f[]
-Execute CMD for each downloaded file. Example: --exec 'convert {} {}.png && rm {}'
+Execute CMD for each downloaded file. Example: --exec "convert {} {}.png && rm {}"
.TP
.B "\-\-exec\-after" \f[I]CMD\f[]
-Execute CMD after all files were downloaded successfully. Example: --exec-after 'cd {} && convert * ../doc.pdf'
+Execute CMD after all files were downloaded successfully. Example: --exec-after "cd {} && convert * ../doc.pdf"
.TP
.B "\-P, \-\-postprocessor" \f[I]NAME\f[]
Activate the specified post processor
diff --git a/data/man/gallery-dl.conf.5 b/data/man/gallery-dl.conf.5
index 36b2c84..ff0067b 100644
--- a/data/man/gallery-dl.conf.5
+++ b/data/man/gallery-dl.conf.5
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL.CONF" "5" "2022-12-18" "1.24.2" "gallery-dl Manual"
+.TH "GALLERY-DL.CONF" "5" "2023-01-10" "1.24.3" "gallery-dl Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@@ -75,16 +75,17 @@ those as makeshift comments by settings their values to arbitrary strings.
.SH EXTRACTOR OPTIONS
.SS extractor.*.filename
.IP "Type:" 6
-\f[I]string\f[] or \f[I]object\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]object\f[] (condition -> \f[I]format string\f[])
.IP "Example:" 4
-.br
-* .. code:: json
+.. code:: json
"{manga}_c{chapter}_{page:>03}.{extension}"
-.br
-* .. code:: json
+.. code:: json
{
"extension == 'mp4'": "{id}_video.{extension}",
@@ -135,16 +136,17 @@ a valid filename extension.
.SS extractor.*.directory
.IP "Type:" 6
-\f[I]list\f[] of \f[I]strings\f[] or \f[I]object\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]object\f[] (condition -> \f[I]format strings\f[])
.IP "Example:" 4
-.br
-* .. code:: json
+.. code:: json
["{category}", "{manga}", "c{chapter} - {title}"]
-.br
-* .. code:: json
+.. code:: json
{
"'nature' in content": ["Nature Pictures"],
@@ -190,7 +192,10 @@ for any spawned child extractors.
.SS extractor.*.parent-metadata
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]false\f[]
@@ -226,7 +231,10 @@ Share number of skipped downloads between parent and child extractors.
.SS extractor.*.path-restrict
.IP "Type:" 6
-\f[I]string\f[] or \f[I]object\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]object\f[] (character -> replacement character(s))
.IP "Default:" 9
\f[I]"auto"\f[]
@@ -324,7 +332,7 @@ prefixed with \f[I]\\\\?\\\f[] to work around the 260 characters path length lim
.SS extractor.*.extension-map
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (extension -> replacement)
.IP "Default:" 9
.. code:: json
@@ -343,7 +351,10 @@ A JSON \f[I]object\f[] mapping filename extensions to their replacements.
.SS extractor.*.skip
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -435,8 +446,12 @@ Specifying a username and password is required for
and optional for
.br
+* \f[I]aibooru\f[] (*)
+.br
* \f[I]aryion\f[]
.br
+* \f[I]atfbooru\f[] (*)
+.br
* \f[I]danbooru\f[] (*)
.br
* \f[I]e621\f[] (*)
@@ -475,7 +490,7 @@ These values can also be specified via the
\f[I]-u/--username\f[] and \f[I]-p/--password\f[] command-line options or
by using a \f[I].netrc\f[] file. (see Authentication_)
-(*) The password value for \f[I]danbooru\f[] and \f[I]e621\f[] should be
+(*) The password value for these sites should be
the API key found in your user profile, not the actual account password.
@@ -492,10 +507,12 @@ Enable the use of \f[I].netrc\f[] authentication data.
.SS extractor.*.cookies
.IP "Type:" 6
-\f[I]Path\f[] or \f[I]object\f[] or \f[I]list\f[]
-
-.IP "Default:" 9
-\f[I]null\f[]
+.br
+* \f[I]Path\f[]
+.br
+* \f[I]object\f[] (name -> value)
+.br
+* \f[I]list\f[]
.IP "Description:" 4
Source to read additional cookies from. This can be
@@ -545,14 +562,17 @@ Source to read additional cookies from. This can be
\f[I]true\f[]
.IP "Description:" 4
-If \f[I]extractor.*.cookies\f[] specifies the \f[I]Path\f[] to a cookies.txt
+If \f[I]extractor.*.cookies\f[] specifies the \f[I]Path\f[] of a cookies.txt
file and it can be opened and parsed without errors,
update its contents with cookies received during data extraction.
.SS extractor.*.proxy
.IP "Type:" 6
-\f[I]string\f[] or \f[I]object\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]object\f[] (scheme -> proxy)
.IP "Default:" 9
\f[I]null\f[]
@@ -580,8 +600,8 @@ Example:
"http://10.20.1.128": "http://10.10.1.10:5323"
}
-Note: All proxy URLs should include a scheme,
-otherwise \f[I]http://\f[] is assumed.
+Note: If a proxy URLs does not include a scheme,
+\f[I]http://\f[] is assumed.
.SS extractor.*.source-address
@@ -619,8 +639,9 @@ User-Agent header value to be used for HTTP requests.
Setting this value to \f[I]"browser"\f[] will try to automatically detect
and use the User-Agent used by the system's default browser.
-Note: This option has no effect on pixiv extractors,
-as these need specific values to function correctly.
+Note: This option has no effect on
+pixiv, e621, and mangadex
+extractors, as these need specific values to function correctly.
.SS extractor.*.browser
@@ -650,13 +671,13 @@ browser would use HTTP/2.
.SS extractor.*.keywords
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (name -> value)
.IP "Example:" 4
{"type": "Pixel Art", "type_id": 123}
.IP "Description:" 4
-Additional key-value pairs to be added to each metadata dictionary.
+Additional name-value pairs to be added to each metadata dictionary.
.SS extractor.*.keywords-default
@@ -696,11 +717,12 @@ with a \f[I]metadata\f[] post processor, etc.
\f[I]null\f[]
.IP "Description:" 4
-Insert a reference to the current \f[I]PathFormat\f[]
+Insert a reference to the current
+\f[I]PathFormat\f[]
data structure into metadata dictionaries as the given name.
For example, setting this option to \f[I]"gdl_path"\f[] would make it possible
-to access the current file's filename as \f[I]"[gdl_path.filename}"\f[].
+to access the current file's filename as \f[I]"{gdl_path.filename}"\f[].
.SS extractor.*.http-metadata
@@ -904,7 +926,10 @@ This value gets internally used as the \f[I]timeout\f[] parameter for the
.SS extractor.*.verify
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -947,18 +972,40 @@ Use fallback download URLs when a download fails.
.SS extractor.*.image-range
.IP "Type:" 6
-\f[I]string\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
-.IP "Example:" 4
+.IP "Examples:" 4
.br
-* "10-20"
+* \f[I]"10-20"\f[]
.br
-* "-5, 10, 30-50, 100-"
+* \f[I]"-5, 10, 30-50, 100-"\f[]
+.br
+* \f[I]"10:21, 30:51:2, :5, 100:"\f[]
+.br
+* \f[I]["-5", "10", "30-50", "100-"]\f[]
.IP "Description:" 4
-Index-range(s) specifying which images to download.
+Index range(s) selecting which files to download.
-Note: The index of the first image is \f[I]1\f[].
+These can be specified as
+
+.br
+* index: \f[I]3\f[] (file number 3)
+.br
+* range: \f[I]2-4\f[] (files 2, 3, and 4)
+.br
+* \f[I]slice\f[]: \f[I]3:8:2\f[] (files 3, 5, and 7)
+
+Arguments for range and slice notation are optional
+.br
+and will default to begin (\f[I]1\f[]) or end (\f[I]sys.maxsize\f[]) if omitted.
+For example \f[I]5-\f[], \f[I]5:\f[], and \f[I]5::\f[] all mean "Start at file number 5".
+.br
+
+Note: The index of the first file is \f[I]1\f[].
.SS extractor.*.chapter-range
@@ -967,41 +1014,46 @@ Note: The index of the first image is \f[I]1\f[].
.IP "Description:" 4
Like \f[I]image-range\f[],
-but applies to delegated URLs like manga-chapters, etc.
+but applies to delegated URLs like manga chapters, etc.
.SS extractor.*.image-filter
.IP "Type:" 6
-\f[I]string\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
-.IP "Example:" 4
+.IP "Examples:" 4
.br
-* "width >= 1200 and width/height > 1.2"
+* \f[I]"re.search(r'foo(bar)+', description)"\f[]
.br
-* "re.search(r'foo(bar)+', description)"
+* \f[I]["width >= 1200", "width/height > 1.2"]\f[]
.IP "Description:" 4
Python expression controlling which files to download.
-Files for which the expression evaluates to \f[I]False\f[] are ignored.
-.br
-Available keys are the filename-specific ones listed by \f[I]-K\f[] or \f[I]-j\f[].
-.br
+A file only gets downloaded when *all* of the given expressions evaluate to \f[I]True\f[].
+
+Available values are the filename-specific ones listed by \f[I]-K\f[] or \f[I]-j\f[].
.SS extractor.*.chapter-filter
.IP "Type:" 6
-\f[I]string\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
-.IP "Example:" 4
+.IP "Examples:" 4
.br
-* "lang == 'en'"
+* \f[I]"lang == 'en'"\f[]
.br
-* "language == 'French' and 10 <= chapter < 20"
+* \f[I]["language == 'French'", "10 <= chapter < 20"]\f[]
.IP "Description:" 4
Like \f[I]image-filter\f[],
-but applies to delegated URLs like manga-chapters, etc.
+but applies to delegated URLs like manga chapters, etc.
.SS extractor.*.image-unique
@@ -1025,7 +1077,7 @@ current extractor run.
.IP "Description:" 4
Like \f[I]image-unique\f[],
-but applies to delegated URLs like manga-chapters, etc.
+but applies to delegated URLs like manga chapters, etc.
.SS extractor.*.date-format
@@ -1041,6 +1093,12 @@ date-min and date-max.
See \f[I]strptime\f[] for a list of formatting directives.
+Note: Despite its name, this option does **not** control how
+\f[I]{date}\f[] metadata fields are formatted.
+To use a different formatting for those values other than the default
+\f[I]%Y-%m-%d %H:%M:%S\f[], put \f[I]strptime\f[] formatting directives
+after a colon \f[I]:\f[], for example \f[I]{date:%Y%m%d}\f[].
+
.SH EXTRACTOR-SPECIFIC OPTIONS
.SS extractor.artstation.external
@@ -1096,7 +1154,7 @@ descend into subfolders
.SS extractor.bbc.width
.IP "Type:" 6
-\f[I]int\f[]
+\f[I]integer\f[]
.IP "Default:" 9
\f[I]1920\f[]
@@ -1156,14 +1214,18 @@ follow the \f[I]source\f[] and download from there if possible.
\f[I]false\f[]
.IP "Description:" 4
-Extract additional metadata (notes, artist commentary, parent, children)
+Extract additional metadata
+(notes, artist commentary, parent, children, uploader)
-Note: This requires 1 additional HTTP request for each post.
+Note: This requires 1 additional HTTP request per post.
.SS extractor.danbooru.threshold
.IP "Type:" 6
-\f[I]string\f[] or \f[I]int\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]integer\f[]
.IP "Default:" 9
\f[I]"auto"\f[]
@@ -1324,13 +1386,19 @@ belongs to a group or a regular user.
.SS extractor.deviantart.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"gallery"\f[]
.IP "Example:" 4
-"favorite,journal,scraps" or ["favorite", "journal", "scraps"]
+.br
+* "favorite,journal,scraps"
+.br
+* ["favorite", "journal", "scraps"]
.IP "Description:" 4
A (comma-separated) list of subcategories to include
@@ -1339,7 +1407,7 @@ when processing a user profile.
Possible values are
\f[I]"gallery"\f[], \f[I]"scraps"\f[], \f[I]"journal"\f[], \f[I]"favorite"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.deviantart.journals
@@ -1389,7 +1457,10 @@ Request extended metadata for deviation objects to additionally provide
.SS extractor.deviantart.original
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -1519,7 +1590,10 @@ Selects an alternative source to download files from.
.SS extractor.fanbox.embeds
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -1562,7 +1636,10 @@ Extract and download videos.
.SS extractor.flickr.size-max
.IP "Type:" 6
-\f[I]integer\f[] or \f[I]string\f[]
+.br
+* \f[I]integer\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]null\f[]
@@ -1608,13 +1685,19 @@ Follow external URLs linked in descriptions.
.SS extractor.furaffinity.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"gallery"\f[]
.IP "Example:" 4
-"scraps,favorite" or ["scraps", "favorite"]
+.br
+* "scraps,favorite"
+.br
+* ["scraps", "favorite"]
.IP "Description:" 4
A (comma-separated) list of subcategories to include
@@ -1623,7 +1706,7 @@ when processing a user profile.
Possible values are
\f[I]"gallery"\f[], \f[I]"scraps"\f[], \f[I]"favorite"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.furaffinity.layout
@@ -1672,9 +1755,9 @@ even ones without a \f[I]generic:\f[] prefix.
.SS extractor.gfycat.format
.IP "Type:" 6
.br
-* \f[I]list\f[] of \f[I]strings\f[]
-.br
* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]["mp4", "webm", "mobile", "gif"]\f[]
@@ -1733,13 +1816,19 @@ Recursively download files from subfolders.
.SS extractor.hentaifoundry.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"pictures"\f[]
.IP "Example:" 4
-"scraps,stories" or ["scraps", "stories"]
+.br
+* "scraps,stories"
+.br
+* ["scraps", "stories"]
.IP "Description:" 4
A (comma-separated) list of subcategories to include
@@ -1748,7 +1837,7 @@ when processing a user profile.
Possible values are
\f[I]"pictures"\f[], \f[I]"scraps"\f[], \f[I]"stories"\f[], \f[I]"favorite"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.hitomi.format
@@ -1769,7 +1858,10 @@ but is most likely going to fail with \f[I]403 Forbidden\f[] errors.
.SS extractor.imgur.mp4
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -1818,13 +1910,19 @@ Selects which API endpoints to use.
.SS extractor.instagram.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"posts"\f[]
.IP "Example:" 4
-"stories,highlights,posts" or ["stories", "highlights", "posts"]
+.br
+* "stories,highlights,posts"
+.br
+* ["stories", "highlights", "posts"]
.IP "Description:" 4
A (comma-separated) list of subcategories to include
@@ -1838,7 +1936,7 @@ Possible values are
\f[I]"highlights"\f[],
\f[I]"avatar"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.instagram.previews
@@ -1884,6 +1982,8 @@ Download video files.
.IP "Description:" 4
Extract \f[I]comments\f[] metadata.
+Note: This requires 1 additional HTTP request per post.
+
.SS extractor.kemonoparty.duplicates
.IP "Type:" 6
@@ -2019,7 +2119,7 @@ The server to use for API requests.
.SS extractor.mangadex.api-parameters
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (name -> value)
.IP "Example:" 4
{"order[updatedAt]": "desc"}
@@ -2054,7 +2154,24 @@ to filter chapters by.
List of acceptable content ratings for returned chapters.
-.SS extractor.mastodon.reblogs
+.SS extractor.[mastodon].access-token
+.IP "Type:" 6
+\f[I]string\f[]
+
+.IP "Default:" 9
+\f[I]null\f[]
+
+.IP "Description:" 4
+The \f[I]access-token\f[] value you get from \f[I]linking your account to
+gallery-dl\f[].
+
+Note: gallery-dl comes with built-in tokens for \f[I]mastodon.social\f[],
+\f[I]pawoo\f[] and \f[I]baraag\f[]. For other instances, you need to obtain an
+\f[I]access-token\f[] in order to use usernames in place of numerical
+user IDs.
+
+
+.SS extractor.[mastodon].reblogs
.IP "Type:" 6
\f[I]bool\f[]
@@ -2065,7 +2182,7 @@ List of acceptable content ratings for returned chapters.
Fetch media from reblogged posts.
-.SS extractor.mastodon.replies
+.SS extractor.[mastodon].replies
.IP "Type:" 6
\f[I]bool\f[]
@@ -2076,7 +2193,7 @@ Fetch media from reblogged posts.
Fetch media from replies to other posts.
-.SS extractor.mastodon.text-posts
+.SS extractor.[mastodon].text-posts
.IP "Type:" 6
\f[I]bool\f[]
@@ -2129,13 +2246,19 @@ the next smaller one gets chosen.
.SS extractor.newgrounds.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"art"\f[]
.IP "Example:" 4
-"movies,audio" or ["movies", "audio"]
+.br
+* "movies,audio"
+.br
+* ["movies", "audio"]
.IP "Description:" 4
A (comma-separated) list of subcategories to include
@@ -2144,12 +2267,15 @@ when processing a user profile.
Possible values are
\f[I]"art"\f[], \f[I]"audio"\f[], \f[I]"games"\f[], \f[I]"movies"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.nijie.include
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"illustration,doujin"\f[]
@@ -2161,7 +2287,7 @@ when processing a user profile.
Possible values are
\f[I]"illustration"\f[], \f[I]"doujin"\f[], \f[I]"favorite"\f[], \f[I]"nuita"\f[].
-You can use \f[I]"all"\f[] instead of listing all values separately.
+It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.SS extractor.nitter.quoted
@@ -2188,7 +2314,10 @@ Fetch media from Retweets.
.SS extractor.nitter.videos
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -2254,7 +2383,7 @@ Host name / IP address to bind to during OAuth authorization.
.IP "Description:" 4
Port number to listen on during OAuth authorization.
-Note: All redirects will go to http://localhost:6414/, regardless
+Note: All redirects will go to port \f[I]6414\f[], regardless
of the port specified here. You'll have to manually adjust the
port number in your browser's address bar when using a different
port than the default.
@@ -2331,6 +2460,20 @@ Extract inline images.
Extract media from reblogged posts.
+.SS extractor.pinterest.domain
+.IP "Type:" 6
+\f[I]string\f[]
+
+.IP "Default:" 9
+\f[I]"auto"\f[]
+
+.IP "Description:" 4
+Specifies the domain used by \f[I]pinterest\f[] extractors.
+
+Setting this option to \f[I]"auto"\f[]
+uses the same domain as a given input URL.
+
+
.SS extractor.pinterest.sections
.IP "Type:" 6
\f[I]bool\f[]
@@ -2379,6 +2522,17 @@ Possible values are
It is possible to use \f[I]"all"\f[] instead of listing all values separately.
+.SS extractor.pixiv.refresh-token
+.IP "Type:" 6
+\f[I]string\f[]
+
+.IP "Description:" 4
+The \f[I]refresh-token\f[] value you get
+from running \f[I]gallery-dl oauth:pixiv\f[] (see OAuth_) or
+by using a third-party tool like
+\f[I]gppt\f[].
+
+
.SS extractor.pixiv.metadata
.IP "Type:" 6
\f[I]bool\f[]
@@ -2390,6 +2544,21 @@ It is possible to use \f[I]"all"\f[] instead of listing all values separately.
Fetch extended \f[I]user\f[] metadata.
+.SS extractor.pixiv.metadata-bookmark
+.IP "Type:" 6
+\f[I]bool\f[]
+
+.IP "Default:" 9
+\f[I]false\f[]
+
+.IP "Description:" 4
+For works bookmarked by
+\f[I]your own account\f[],
+fetch bookmark tags as \f[I]tags_bookmark\f[] metadata.
+
+Note: This requires 1 additional API call per bookmarked post.
+
+
.SS extractor.pixiv.work.related
.IP "Type:" 6
\f[I]bool\f[]
@@ -2534,7 +2703,7 @@ time required when scanning a subreddit.
Retrieve additional comments by resolving the \f[I]more\f[] comment
stubs in the base comment tree.
-This requires 1 additional API call for every 100 extra comments.
+Note: This requires 1 additional API call for every 100 extra comments.
.SS extractor.reddit.date-min & .date-max
@@ -2599,7 +2768,10 @@ at 600 requests every 10 minutes/600 seconds.
.SS extractor.reddit.videos
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -2620,9 +2792,9 @@ video extraction and download
.SS extractor.redgifs.format
.IP "Type:" 6
.br
-* \f[I]list\f[] of \f[I]strings\f[]
-.br
* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]["hd", "sd", "gif"]\f[]
@@ -2707,7 +2879,10 @@ Download thumbnails.
.SS extractor.skeb.search.filters
.IP "Type:" 6
-\f[I]list\f[] or \f[I]string\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]["genre:art", "genre:voice", "genre:novel", "genre:video", "genre:music", "genre:correction"]\f[]
@@ -2822,7 +2997,10 @@ Selects how to handle exceeding the daily API rate limit.
.SS extractor.tumblr.reblogs
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -2839,13 +3017,19 @@ is from the same blog
.SS extractor.tumblr.posts
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Default:" 9
\f[I]"all"\f[]
.IP "Example:" 4
-"video,audio,link" or ["video", "audio", "link"]
+.br
+* "video,audio,link"
+.br
+* ["video", "audio", "link"]
.IP "Description:" 4
A (comma-separated) list of post types to extract images, etc. from.
@@ -2853,7 +3037,7 @@ A (comma-separated) list of post types to extract images, etc. from.
Possible types are \f[I]text\f[], \f[I]quote\f[], \f[I]link\f[], \f[I]answer\f[],
\f[I]video\f[], \f[I]audio\f[], \f[I]photo\f[], \f[I]chat\f[].
-You can use \f[I]"all"\f[] instead of listing all types separately.
+It is possible to use \f[I]"all"\f[] instead of listing all types separately.
.SS extractor.tumblr.fallback-delay
@@ -2909,7 +3093,10 @@ See \f[I]Filters\f[] for details.
.SS extractor.twitter.cards
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]false\f[]
@@ -2993,6 +3180,8 @@ with enabled \f[I]conversations\f[] option
for each Tweet in said timeline.
Note: This requires at least 1 additional API call per initial Tweet.
+Age-restricted replies cannot be expanded when using the
+\f[I]syndication\f[] API.
.SS extractor.twitter.size
@@ -3013,13 +3202,32 @@ Known available sizes are
.SS extractor.twitter.syndication
.IP "Type:" 6
-\f[I]bool\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]false\f[]
.IP "Description:" 4
-Retrieve age-restricted content using Twitter's syndication API.
+Controls how to retrieve age-restricted content when not logged in.
+
+.br
+* \f[I]false\f[]: Skip age-restricted Tweets.
+.br
+* \f[I]true\f[]: Download using Twitter's syndication API.
+.br
+* \f[I]"extended"\f[]: Try to fetch Tweet metadata using the normal API
+in addition to the syndication API. This requires additional HTTP
+requests in some cases (e.g. when \f[I]retweets\f[]
+are enabled).
+
+Note: This does not apply to search results (including
+\f[I]timeline strategies\f[]).
+To retrieve such content from search results, you must log in and
+disable "Hide sensitive content" in your \f[I]search settings
+<https://twitter.com/settings/search>\f[].
.SS extractor.twitter.logout
@@ -3054,6 +3262,9 @@ Fetch media from pinned Tweets.
.IP "Description:" 4
Fetch media from quoted Tweets.
+If this option is enabled, gallery-dl will try to fetch
+a quoted (original) Tweet when it sees the Tweet which quotes it.
+
.SS extractor.twitter.replies
.IP "Type:" 6
@@ -3068,6 +3279,13 @@ Fetch media from replies to other Tweets.
If this value is \f[I]"self"\f[], only consider replies where
reply and original Tweet are from the same user.
+Note: Twitter will automatically expand conversations if you
+use the \f[I]/with_replies\f[] timeline while logged in. For example,
+media from Tweets which the user replied to will also be downloaded.
+
+It is possible to exclude unwanted Tweets using \f[I]image-filter
+<extractor.*.image-filter_>\f[].
+
.SS extractor.twitter.retweets
.IP "Type:" 6
@@ -3174,7 +3392,10 @@ for \f[I]twitter\f[] to a non-default value, e.g. an empty string \f[I]""\f[].
.SS extractor.twitter.videos
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -3265,7 +3486,7 @@ It is possible to use \f[I]"all"\f[] instead of listing all values separately.
.IP "Description:" 4
Extract additional metadata (tags, uploader)
-Note: This requires 1 additional HTTP request for each post.
+Note: This requires 1 additional HTTP request per post.
.SS extractor.weasyl.api-key
@@ -3312,7 +3533,12 @@ A (comma-separated) list of subcategories to include
when processing a user profile.
Possible values are
-\f[I]"home"\f[], \f[I]"feed"\f[], \f[I]"videos"\f[], \f[I]"newvideo"\f[], \f[I]"article"\f[], \f[I]"album"\f[].
+\f[I]"home"\f[],
+\f[I]"feed"\f[],
+\f[I]"videos"\f[],
+\f[I]"newvideo"\f[],
+\f[I]"article"\f[],
+\f[I]"album"\f[].
It is possible to use \f[I]"all"\f[] instead of listing all values separately.
@@ -3422,7 +3648,7 @@ followed by \f[I]"youtube_dl"\f[] as fallback.
.SS extractor.ytdl.raw-options
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (name -> value)
.IP "Example:" 4
.. code:: json
@@ -3479,7 +3705,7 @@ Location of a youtube-dl configuration file to load options from.
.IP "Description:" 4
Extract additional metadata (date, md5, tags, ...)
-Note: This requires 1-2 additional HTTP request for each post.
+Note: This requires 1-2 additional HTTP requests per post.
.SS extractor.[booru].tags
@@ -3493,7 +3719,7 @@ Note: This requires 1-2 additional HTTP request for each post.
Categorize tags by their respective types
and provide them as \f[I]tags_<type>\f[] metadata fields.
-Note: This requires 1 additional HTTP request for each post.
+Note: This requires 1 additional HTTP request per post.
.SS extractor.[booru].notes
@@ -3506,7 +3732,7 @@ Note: This requires 1 additional HTTP request for each post.
.IP "Description:" 4
Extract overlay notes (position and text).
-Note: This requires 1 additional HTTP request for each post.
+Note: This requires 1 additional HTTP request per post.
.SS extractor.[manga-extractor].chapter-reverse
@@ -3659,7 +3885,7 @@ or \f[I]-1\f[] for infinite retries.
.SS downloader.*.timeout
.IP "Type:" 6
-\f[I]float\f[] or \f[I]null\f[]
+\f[I]float\f[]
.IP "Default:" 9
\f[I]extractor.*.timeout\f[]
@@ -3670,7 +3896,10 @@ Connection timeout during file downloads.
.SS downloader.*.verify
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]extractor.*.verify\f[]
@@ -3681,16 +3910,19 @@ Certificate validation during file downloads.
.SS downloader.*.proxy
.IP "Type:" 6
-\f[I]string\f[] or \f[I]object\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]object\f[] (scheme -> proxy)
.IP "Default:" 9
\f[I]extractor.*.proxy\f[]
.IP "Description:" 4
Proxy server used for file downloads.
-.br
-Disable the use of a proxy by explicitly setting this option to \f[I]null\f[].
-.br
+
+Disable the use of a proxy for file downloads
+by explicitly setting this option to \f[I]null\f[].
.SS downloader.http.adjust-extensions
@@ -3711,7 +3943,10 @@ contains JPEG/JFIF data.
.SS downloader.http.chunk-size
.IP "Type:" 6
-\f[I]integer\f[] or \f[I]string\f[]
+.br
+* \f[I]integer\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]32768\f[]
@@ -3729,7 +3964,7 @@ These suffixes are case-insensitive.
.SS downloader.http.headers
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (name -> value)
.IP "Example:" 4
{"Accept": "image/webp,*/*", "Referer": "https://example.org/"}
@@ -3835,7 +4070,7 @@ cause unexpected results in combination with other options
.SS downloader.ytdl.raw-options
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (name -> value)
.IP "Example:" 4
.. code:: json
@@ -3885,7 +4120,10 @@ Location of a youtube-dl configuration file to load options from.
.SH OUTPUT OPTIONS
.SS output.mode
.IP "Type:" 6
-\f[I]string\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]object\f[] (key -> format string)
.IP "Default:" 9
\f[I]"auto"\f[]
@@ -3902,7 +4140,54 @@ Controls the output string format and status indicators.
.br
* \f[I]"color"\f[]: Suitable for terminals that understand ANSI escape codes and colors
.br
-* \f[I]"auto"\f[]: Automatically choose the best suitable output mode
+* \f[I]"auto"\f[]: \f[I]"terminal"\f[] on Windows with \f[I]output.ansi\f[] disabled,
+\f[I]"color"\f[] otherwise.
+
+It is possible to use custom output format strings
+.br
+by setting this option to an \f[I]object\f[] and specifying
+\f[I]start\f[], \f[I]success\f[], \f[I]skip\f[], \f[I]progress\f[], and \f[I]progress-total\f[].
+.br
+
+For example, the following will replicate the same output as \f[I]mode: color\f[]:
+
+.. code:: json
+
+{
+"start" : "{}",
+"success": "\\r\\u001b[1;32m{}\\u001b[0m\\n",
+"skip" : "\\u001b[2m{}\\u001b[0m\\n",
+"progress" : "\\r{0:>7}B {1:>7}B/s ",
+"progress-total": "\\r{3:>3}% {0:>7}B {1:>7}B/s "
+}
+
+\f[I]start\f[], \f[I]success\f[], and \f[I]skip\f[] are used to output the current
+filename, where \f[I]{}\f[] or \f[I]{0}\f[] is replaced with said filename.
+If a given format string contains printable characters other than that,
+their number needs to be specified as \f[I][<number>, <format string>]\f[]
+to get the correct results for \f[I]output.shorten\f[]. For example
+
+.. code:: json
+
+"start" : [12, "Downloading {}"]
+
+\f[I]progress\f[] and \f[I]progress-total\f[] are used when displaying the
+.br
+\f[I]download progress indicator\f[],
+\f[I]progress\f[] when the total number of bytes to download is unknown,
+.br
+\f[I]progress-total\f[] otherwise.
+
+For these format strings
+
+.br
+* \f[I]{0}\f[] is number of bytes downloaded
+.br
+* \f[I]{1}\f[] is number of downloaded bytes per second
+.br
+* \f[I]{2}\f[] is total number of bytes
+.br
+* \f[I]{3}\f[] is percent of bytes downloaded to total bytes
.SS output.shorten
@@ -3922,7 +4207,7 @@ with a display width greater than 1.
.SS output.colors
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (key -> ANSI color)
.IP "Default:" 9
\f[I]{"success": "1;32", "skip": "2"}\f[]
@@ -3983,7 +4268,10 @@ in the output of \f[I]-K/--list-keywords\f[] and \f[I]-j/--dump-json\f[].
.SS output.progress
.IP "Type:" 6
-\f[I]bool\f[] or \f[I]string\f[]
+.br
+* \f[I]bool\f[]
+.br
+* \f[I]string\f[]
.IP "Default:" 9
\f[I]true\f[]
@@ -4005,13 +4293,16 @@ as a custom \f[I]format string\f[]. Possible replacement keys are
.SS output.log
.IP "Type:" 6
-\f[I]string\f[] or \f[I]Logging Configuration\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]Logging Configuration\f[]
.IP "Default:" 9
\f[I]"[{name}][{levelname}] {message}"\f[]
.IP "Description:" 4
-Configuration for standard logging output to stderr.
+Configuration for logging output to stderr.
If this is a simple \f[I]string\f[], it specifies
the format string for logging messages.
@@ -4019,10 +4310,10 @@ the format string for logging messages.
.SS output.logfile
.IP "Type:" 6
-\f[I]Path\f[] or \f[I]Logging Configuration\f[]
-
-.IP "Default:" 9
-\f[I]null\f[]
+.br
+* \f[I]Path\f[]
+.br
+* \f[I]Logging Configuration\f[]
.IP "Description:" 4
File to write logging output to.
@@ -4030,10 +4321,10 @@ File to write logging output to.
.SS output.unsupportedfile
.IP "Type:" 6
-\f[I]Path\f[] or \f[I]Logging Configuration\f[]
-
-.IP "Default:" 9
-\f[I]null\f[]
+.br
+* \f[I]Path\f[]
+.br
+* \f[I]Logging Configuration\f[]
.IP "Description:" 4
File to write external URLs unsupported by *gallery-dl* to.
@@ -4056,7 +4347,7 @@ before outputting them as JSON.
.SH POSTPROCESSOR OPTIONS
.SS classify.mapping
.IP "Type:" 6
-\f[I]object\f[]
+\f[I]object\f[] (directory -> extensions)
.IP "Default:" 9
.. code:: json
@@ -4144,7 +4435,10 @@ or to let it run asynchronously.
.SS exec.command
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Example:" 4
.br
@@ -4193,8 +4487,7 @@ See \f[I]metadata.event\f[] for a list of available events.
Selects how to process metadata.
.br
-* \f[I]"json"\f[]: write metadata using \f[I]json.dump()
-<https://docs.python.org/3/library/json.html#json.dump>\f[]
+* \f[I]"json"\f[]: write metadata using \f[I]json.dump()\f[]
.br
* \f[I]"jsonl"\f[]: write metadata in \f[I]JSON Lines
<https://jsonlines.org/>\f[] format
@@ -4314,13 +4607,11 @@ After downloading all files of a post
* \f[I]object\f[] (field name -> \f[I]format string\f[])
.IP "Example:" 4
-.br
-* .. code:: json
+.. code:: json
["blocked", "watching", "status[creator][name]"]
-.br
-* .. code:: json
+.. code:: json
{
"blocked" : "***",
@@ -4341,7 +4632,10 @@ whose result is assigned to said field name.
.SS metadata.content-format
.IP "Type:" 6
-\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+.br
+* \f[I]string\f[]
+.br
+* \f[I]list\f[] of \f[I]strings\f[]
.IP "Example:" 4
.br
@@ -4355,6 +4649,24 @@ Custom format string to build the content of metadata files with.
Note: Only applies for \f[I]"mode": "custom"\f[].
+.SS metadata.indent
+.IP "Type:" 6
+.br
+* \f[I]integer\f[]
+.br
+* \f[I]string\f[]
+
+.IP "Default:" 9
+\f[I]4\f[]
+
+.IP "Description:" 4
+Indentation level of JSON output.
+
+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.open
.IP "Type:" 6
\f[I]string\f[]
@@ -4369,19 +4681,7 @@ For example,
use \f[I]"a"\f[] to append to a file's content
or \f[I]"w"\f[] to truncate it.
-See the \f[I]mode\f[] parameter of \f[I]open()\f[] for further details.
-
-
-.SS metadata.private
-.IP "Type:" 6
-\f[I]bool\f[]
-
-.IP "Default:" 9
-\f[I]false\f[]
-
-.IP "Description:" 4
-Include private fields,
-i.e. fields whose name starts with an underscore.
+See the \f[I]mode\f[] argument of \f[I]open()\f[] for further details.
.SS metadata.encoding
@@ -4394,7 +4694,19 @@ i.e. fields whose name starts with an underscore.
.IP "Description:" 4
Name of the encoding used to encode a file's content.
-See the \f[I]encoding\f[] parameter of \f[I]open()\f[] for further details.
+See the \f[I]encoding\f[] argument of \f[I]open()\f[] for further details.
+
+
+.SS metadata.private
+.IP "Type:" 6
+\f[I]bool\f[]
+
+.IP "Default:" 9
+\f[I]false\f[]
+
+.IP "Description:" 4
+Include private fields,
+i.e. fields whose name starts with an underscore.
.SS metadata.archive
@@ -4834,8 +5146,8 @@ in Flickr's \f[I]App Garden\f[]
* fill out the form with a random name and description
and click "SUBMIT"
.br
-* copy \f[I]Key\f[] and \f[I]Secret\f[] and put them in your configuration
-file
+* copy \f[I]Key\f[] and \f[I]Secret\f[] and put them in your configuration file
+as \f[I]"api-key"\f[] and \f[I]"api-secret"\f[]
.SS extractor.reddit.client-id & .user-agent
@@ -4855,9 +5167,10 @@ section of your account's preferences
.br
* copy the client id (third line, under your application's name and
"installed app") and put it in your configuration file
+as \f[I]"client-id"\f[]
.br
* use "\f[I]Python:<application name>:v1.0 (by /u/<username>)\f[]" as
-user-agent and replace \f[I]<application name>\f[] and \f[I]<username>\f[]
+\f[I]user-agent\f[] and replace \f[I]<application name>\f[] and \f[I]<username>\f[]
accordingly (see Reddit's
\f[I]API access rules\f[])
@@ -4878,6 +5191,7 @@ and "Use" to "Non-Commercial"
.br
* copy \f[I]API Key\f[] and \f[I]API Secret\f[]
and put them in your configuration file
+as \f[I]"api-key"\f[] and \f[I]"api-secret"\f[]
.SS extractor.tumblr.api-key & .api-secret
@@ -4901,6 +5215,7 @@ callback URL"
.br
* copy your \f[I]OAuth Consumer Key\f[] and \f[I]Secret Key\f[]
and put them in your configuration file
+as \f[I]"api-key"\f[] and \f[I]"api-secret"\f[]
.SH CUSTOM TYPES
@@ -4952,7 +5267,7 @@ A \f[I]Duration\f[] represents a span of time in seconds.
* If given as a single \f[I]float\f[], it will be used as that exact value.
.br
* If given as a \f[I]list\f[] with 2 floating-point numbers \f[I]a\f[] & \f[I]b\f[] ,
-it will be randomly chosen with uniform distribution such that \f[I]a <= N <=b\f[].
+it will be randomly chosen with uniform distribution such that \f[I]a <= N <= b\f[].
(see \f[I]random.uniform()\f[])
.br
* If given as a \f[I]string\f[], it can either represent a single \f[I]float\f[]