aboutsummaryrefslogtreecommitdiffstats
path: root/data/man
diff options
context:
space:
mode:
Diffstat (limited to 'data/man')
-rw-r--r--data/man/gallery-dl.12
-rw-r--r--data/man/gallery-dl.conf.5453
2 files changed, 317 insertions, 138 deletions
diff --git a/data/man/gallery-dl.1 b/data/man/gallery-dl.1
index 2a84a06..cbcf4bf 100644
--- a/data/man/gallery-dl.1
+++ b/data/man/gallery-dl.1
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL" "1" "2020-09-20" "1.15.0" "gallery-dl Manual"
+.TH "GALLERY-DL" "1" "2020-10-11" "1.15.1" "gallery-dl Manual"
.\" disable hyphenation
.nh
diff --git a/data/man/gallery-dl.conf.5 b/data/man/gallery-dl.conf.5
index e37135e..aeecaa0 100644
--- a/data/man/gallery-dl.conf.5
+++ b/data/man/gallery-dl.conf.5
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL.CONF" "5" "2020-09-20" "1.15.0" "gallery-dl Manual"
+.TH "GALLERY-DL.CONF" "5" "2020-10-11" "1.15.1" "gallery-dl Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@@ -115,6 +115,7 @@ Note: Even if the value of the \f[I]extension\f[] key is missing or
starting. This key is therefore always available to provide
a valid filename extension.
+
.SS extractor.*.directory
.IP "Type:" 6
\f[I]list\f[] of \f[I]strings\f[]
@@ -129,6 +130,7 @@ Each individual string in such a list represents a single path
segment, which will be joined together and appended to the
\f[I]base-directory\f[] to form the complete target directory path.
+
.SS extractor.*.base-directory
.IP "Type:" 6
\f[I]Path\f[]
@@ -137,7 +139,8 @@ segment, which will be joined together and appended to the
\f[I]"./gallery-dl/"\f[]
.IP "Description:" 4
-Directory path used as the base for all download destinations.
+Directory path used as base for all download destinations.
+
.SS extractor.*.parent-directory
.IP "Type:" 6
@@ -148,9 +151,10 @@ Directory path used as the base for all download destinations.
.IP "Description:" 4
Use an extractor's current target directory as
-\f[I]base-directory <extractor.*.base-directory_>\f[]
+\f[I]base-directory\f[]
for any spawned child extractors.
+
.SS extractor.*.path-restrict
.IP "Type:" 6
\f[I]string\f[] or \f[I]object\f[]
@@ -159,15 +163,15 @@ for any spawned child extractors.
\f[I]"auto"\f[]
.IP "Example:" 4
-"/!? (){}"
.br
-{" ": "_", "/": "-", "|": "-", ":": "-", "*": "+"}
+* "/!? (){}"
.br
+* {" ": "_", "/": "-", "|": "-", ":": "-", "*": "+"}
.IP "Description:" 4
A string of characters to be replaced with the value of
.br
-\f[I]path-replace <extractor.*.path-replace_>\f[]
+\f[I]path-replace\f[]
or an object mapping invalid/unwanted characters to their replacements
.br
for generated path segment names.
@@ -186,6 +190,7 @@ depending on the local operating system
Note: In a string with 2 or more characters, \f[I][]^-\\\f[] need to be
escaped with backslashes, e.g. \f[I]"\\\\[\\\\]"\f[]
+
.SS extractor.*.path-replace
.IP "Type:" 6
\f[I]string\f[]
@@ -195,7 +200,8 @@ escaped with backslashes, e.g. \f[I]"\\\\[\\\\]"\f[]
.IP "Description:" 4
The replacement character(s) for
-\f[I]path-restrict <extractor.*.path-restrict_>\f[]
+\f[I]path-restrict\f[]
+
.SS extractor.*.path-remove
.IP "Type:" 6
@@ -210,6 +216,7 @@ Set of characters to remove from generated path names.
Note: In a string with 2 or more characters, \f[I][]^-\\\f[] need to be
escaped with backslashes, e.g. \f[I]"\\\\[\\\\]"\f[]
+
.SS extractor.*.skip
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -220,7 +227,7 @@ escaped with backslashes, e.g. \f[I]"\\\\[\\\\]"\f[]
.IP "Description:" 4
Controls the behavior when downloading files that have been
downloaded before, i.e. a file with the same filename already
-exists or its ID is in a \f[I]download archive <extractor.*.archive_>\f[].
+exists or its ID is in a \f[I]download archive\f[].
.br
* \f[I]true\f[]: Skip downloads
@@ -243,6 +250,7 @@ after \f[I]N\f[] consecutive skips
* \f[I]"enumerate"\f[]: Add an enumeration index to the beginning of the
filename extension (\f[I]file.1.ext\f[], \f[I]file.2.ext\f[], etc.)
+
.SS extractor.*.sleep
.IP "Type:" 6
\f[I]float\f[]
@@ -253,6 +261,7 @@ filename extension (\f[I]file.1.ext\f[], \f[I]file.2.ext\f[], etc.)
.IP "Description:" 4
Number of seconds to sleep before each download.
+
.SS extractor.*.sleep-extractor
.IP "Type:" 6
\f[I]float\f[]
@@ -264,6 +273,7 @@ Number of seconds to sleep before each download.
Number of seconds to sleep before handling an input URL,
i.e. before starting a new extractor.
+
.SS extractor.*.sleep-request
.IP "Type:" 6
\f[I]float\f[]
@@ -275,6 +285,7 @@ i.e. before starting a new extractor.
Minimal time interval in seconds between each HTTP request
during data extraction.
+
.SS extractor.*.username & .password
.IP "Type:" 6
\f[I]string\f[]
@@ -330,6 +341,7 @@ Note: The password values for \f[I]danbooru\f[] and \f[I]e621\f[] should be
the API keys found in your user profile, not your actual account
password.
+
.SS extractor.*.netrc
.IP "Type:" 6
\f[I]bool\f[]
@@ -340,6 +352,7 @@ password.
.IP "Description:" 4
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[]
@@ -378,6 +391,7 @@ If \f[I]extractor.*.cookies\f[] specifies the \f[I]Path\f[] to 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[]
@@ -411,6 +425,7 @@ Example:
Note: All proxy URLs should include a scheme,
otherwise \f[I]http://\f[] is assumed.
+
.SS extractor.*.user-agent
.IP "Type:" 6
\f[I]string\f[]
@@ -421,9 +436,9 @@ otherwise \f[I]http://\f[] is assumed.
.IP "Description:" 4
User-Agent header value to be used for HTTP requests.
-Note: This option has no effect on pixiv and
-readcomiconline extractors, as these need specific values to
-function correctly.
+Note: This option has no effect on pixiv extractors,
+as these need specific values to function correctly.
+
.SS extractor.*.keywords
.IP "Type:" 6
@@ -435,6 +450,7 @@ function correctly.
.IP "Description:" 4
Additional key-value pairs to be added to each metadata dictionary.
+
.SS extractor.*.keywords-default
.IP "Type:" 6
any
@@ -446,6 +462,7 @@ any
Default value used for missing or undefined keyword names in
format strings.
+
.SS extractor.*.category-transfer
.IP "Type:" 6
\f[I]bool\f[]
@@ -458,6 +475,7 @@ Transfer an extractor's (sub)category values to all child
extractors spawned by it, to let them inherit their parent's
config options.
+
.SS extractor.*.blacklist & .whitelist
.IP "Type:" 6
\f[I]list\f[] of \f[I]strings\f[]
@@ -473,6 +491,7 @@ e.g. from \f[I]reddit\f[] or \f[I]plurk\f[].
Note: Any \f[I]blacklist\f[] setting will automatically include
\f[I]"oauth"\f[], \f[I]"recursive"\f[], and \f[I]"test"\f[].
+
.SS extractor.*.archive
.IP "Type:" 6
\f[I]Path\f[]
@@ -486,7 +505,7 @@ Note: Any \f[I]blacklist\f[] setting will automatically include
.IP "Description:" 4
File to store IDs of downloaded files in. Downloads of files
already recorded in this archive file will be
-\f[I]skipped <extractor.*.skip_>\f[].
+\f[I]skipped\f[].
The resulting archive file is not a plain text file but an SQLite3
database, as either lookup operations are significantly faster or
@@ -497,6 +516,7 @@ Note: archive paths support regular \f[I]format string\f[] replacements,
but be aware that using external inputs for building local paths
may pose a security risk.
+
.SS extractor.*.archive-format
.IP "Type:" 6
\f[I]string\f[]
@@ -507,6 +527,7 @@ may pose a security risk.
.IP "Description:" 4
An alternative \f[I]format string\f[] to build archive IDs with.
+
.SS extractor.*.postprocessors
.IP "Type:" 6
\f[I]list\f[] of \f[I]Postprocessor Configuration\f[] objects
@@ -521,8 +542,9 @@ An alternative \f[I]format string\f[] to build archive IDs with.
.IP "Description:" 4
-A list of post-processors to be applied to each downloaded file
-in the same order as they are specified.
+A list of \f[I]post-processors\f[]
+to be applied to each downloaded file in the specified order.
+
.SS extractor.*.retries
.IP "Type:" 6
@@ -535,12 +557,13 @@ in the same order as they are specified.
Maximum number of times a failed HTTP request is retried before
giving up or \f[I]-1\f[] for infinite retries.
+
.SS extractor.*.timeout
.IP "Type:" 6
-\f[I]float\f[] or \f[I]null\f[]
+\f[I]float\f[]
.IP "Default:" 9
-\f[I]30\f[]
+\f[I]30.0\f[]
.IP "Description:" 4
Amount of time (in seconds) to wait for a successful connection
@@ -549,6 +572,7 @@ and response from a remote server.
This value gets internally used as the \f[I]timeout\f[] parameter for the
\f[I]requests.request()\f[] method.
+
.SS extractor.*.verify
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -565,6 +589,7 @@ instead of the default certificates.
This value gets internally used as the \f[I]verify\f[] parameter for the
\f[I]requests.request()\f[] method.
+
.SS extractor.*.download
.IP "Type:" 6
\f[I]bool\f[]
@@ -576,66 +601,69 @@ This value gets internally used as the \f[I]verify\f[] parameter for the
Controls whether to download media files.
Setting this to \f[I]false\f[] won't download any files, but all other
-functions (postprocessors_, \f[I]download archive\f[], etc.)
+functions (\f[I]postprocessors\f[], \f[I]download archive\f[], etc.)
will be executed as normal.
+
.SS extractor.*.image-range
.IP "Type:" 6
\f[I]string\f[]
.IP "Example:" 4
-"10-20",
.br
-"-5, 10, 30-50, 100-"
+* "10-20"
.br
+* "-5, 10, 30-50, 100-"
.IP "Description:" 4
Index-range(s) specifying which images to download.
Note: The index of the first image is \f[I]1\f[].
+
.SS extractor.*.chapter-range
.IP "Type:" 6
\f[I]string\f[]
.IP "Description:" 4
-Like \f[I]image-range <extractor.*.image-range_>\f[],
+Like \f[I]image-range\f[],
but applies to delegated URLs like manga-chapters, etc.
+
.SS extractor.*.image-filter
.IP "Type:" 6
\f[I]string\f[]
.IP "Example:" 4
-"width >= 1200 and width/height > 1.2",
.br
-"re.search(r'foo(bar)+', description)"
+* "width >= 1200 and width/height > 1.2"
.br
+* "re.search(r'foo(bar)+', description)"
.IP "Description:" 4
-Python expression controlling which images to download.
-.br
-Files for which the expression evaluates to \f[I]False\f[]
+Python expression controlling which files to download.
+
+Files for which the expression evaluates to \f[I]False\f[] are ignored.
.br
-are ignored.
-Available keys are the filename-specific ones listed
+Available keys are the filename-specific ones listed by \f[I]-K\f[] or \f[I]-j\f[].
.br
-by \f[I]-K\f[] or \f[I]-j\f[].
+
.SS extractor.*.chapter-filter
.IP "Type:" 6
\f[I]string\f[]
.IP "Example:" 4
-"lang == 'en'"
.br
-"language == 'French' and 10 <= chapter < 20"
+* "lang == 'en'"
.br
+* "language == 'French' and 10 <= chapter < 20"
.IP "Description:" 4
-Like \f[I]image-filter <extractor.*.image-filter_>\f[],
+Like \f[I]image-filter\f[],
but applies to delegated URLs like manga-chapters, etc.
+
.SS extractor.*.image-unique
.IP "Type:" 6
\f[I]bool\f[]
@@ -647,6 +675,7 @@ but applies to delegated URLs like manga-chapters, etc.
Ignore image URLs that have been encountered before during the
current extractor run.
+
.SS extractor.*.chapter-unique
.IP "Type:" 6
\f[I]bool\f[]
@@ -655,9 +684,10 @@ current extractor run.
\f[I]false\f[]
.IP "Description:" 4
-Like \f[I]image-unique <extractor.*.image-unique_>\f[],
+Like \f[I]image-unique\f[],
but applies to delegated URLs like manga-chapters, etc.
+
.SS extractor.*.date-format
.IP "Type:" 6
\f[I]string\f[]
@@ -671,6 +701,7 @@ date-min and date-max.
See \f[I]strptime\f[] for a list of formatting directives.
+
.SH EXTRACTOR-SPECIFIC OPTIONS
.SS extractor.artstation.external
.IP "Type:" 6
@@ -682,6 +713,7 @@ See \f[I]strptime\f[] for a list of formatting directives.
.IP "Description:" 4
Try to follow external URLs of embedded players.
+
.SS extractor.aryion.recursive
.IP "Type:" 6
\f[I]bool\f[]
@@ -698,6 +730,7 @@ descend into subfolders
.br
* \f[I]false\f[]: Get posts from "Latest Updates" pages
+
.SS extractor.blogger.videos
.IP "Type:" 6
\f[I]bool\f[]
@@ -708,6 +741,7 @@ descend into subfolders
.IP "Description:" 4
Download embedded videos hosted on https://www.blogger.com/
+
.SS extractor.danbooru.ugoira
.IP "Type:" 6
\f[I]bool\f[]
@@ -723,6 +757,7 @@ Controls the download target for Ugoira posts.
.br
* \f[I]false\f[]: Converted video files
+
.SS extractor.deviantart.extra
.IP "Type:" 6
\f[I]bool\f[]
@@ -736,6 +771,7 @@ description texts and journals.
Note: Enabling this option also enables deviantart.metadata_.
+
.SS extractor.deviantart.flat
.IP "Type:" 6
\f[I]bool\f[]
@@ -755,6 +791,10 @@ favorites-collections and transfer any further work to other
extractors (\f[I]folder\f[] or \f[I]collection\f[]), which will then
create individual subdirectories for each of them.
+Note: Going through all gallery folders will not be able to
+fetch deviations which aren't in any folder.
+
+
.SS extractor.deviantart.folders
.IP "Type:" 6
\f[I]bool\f[]
@@ -769,6 +809,7 @@ folders a deviation is present in.
Note: Gathering this information requires a lot of API calls.
Use with caution.
+
.SS extractor.deviantart.include
.IP "Type:" 6
\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
@@ -788,6 +829,7 @@ Possible values are
You can use \f[I]"all"\f[] instead of listing all values separately.
+
.SS extractor.deviantart.journals
.IP "Type:" 6
\f[I]string\f[]
@@ -805,6 +847,7 @@ Selects the output format of journal entries.
.br
* \f[I]"none"\f[]: Don't download journals.
+
.SS extractor.deviantart.mature
.IP "Type:" 6
\f[I]bool\f[]
@@ -819,6 +862,7 @@ This option simply sets the \f[I]mature_content\f[] parameter for API
calls to either \f[I]"true"\f[] or \f[I]"false"\f[] and does not do any other
form of content filtering.
+
.SS extractor.deviantart.metadata
.IP "Type:" 6
\f[I]bool\f[]
@@ -827,9 +871,9 @@ form of content filtering.
\f[I]false\f[]
.IP "Description:" 4
-Request extended metadata for deviation objects to additionally
-provide \f[I]description\f[], \f[I]tags\f[], \f[I]license\f[] and \f[I]is_watching\f[]
-fields.
+Request extended metadata for deviation objects to additionally provide
+\f[I]description\f[], \f[I]tags\f[], \f[I]license\f[] and \f[I]is_watching\f[] fields.
+
.SS extractor.deviantart.original
.IP "Type:" 6
@@ -845,6 +889,7 @@ Setting this option to \f[I]"images"\f[] only downloads original
files if they are images and falls back to preview versions for
everything else (archives, etc.).
+
.SS extractor.deviantart.quality
.IP "Type:" 6
\f[I]integer\f[]
@@ -856,6 +901,7 @@ everything else (archives, etc.).
JPEG quality level of newer images for which
an original file download is not available.
+
.SS extractor.deviantart.refresh-token
.IP "Type:" 6
\f[I]string\f[]
@@ -865,14 +911,15 @@ an original file download is not available.
.IP "Description:" 4
The \f[I]refresh-token\f[] value you get from
-\f[I]linking your DeviantArt account to gallery-dl <OAuth_>\f[].
+\f[I]linking your DeviantArt account to gallery-dl\f[].
Using a \f[I]refresh-token\f[] allows you to access private or otherwise
not publicly available deviations.
Note: The \f[I]refresh-token\f[] becomes invalid
-\f[I]after 3 months <https://www.deviantart.com/developers/authentication#refresh>\f[]
-or whenever your \f[I]cache file <cache.file_>\f[] is deleted or cleared.
+\f[I]after 3 months\f[]
+or whenever your \f[I]cache file\f[] is deleted or cleared.
+
.SS extractor.deviantart.wait-min
.IP "Type:" 6
@@ -884,6 +931,7 @@ or whenever your \f[I]cache file <cache.file_>\f[] is deleted or cleared.
.IP "Description:" 4
Minimum wait time in seconds before API requests.
+
.SS extractor.exhentai.domain
.IP "Type:" 6
\f[I]string\f[]
@@ -900,6 +948,7 @@ depending on the input URL
.br
* \f[I]"exhentai.org"\f[]: Use \f[I]exhentai.org\f[] for all URLs
+
.SS extractor.exhentai.limits
.IP "Type:" 6
\f[I]bool\f[] or \f[I]integer\f[]
@@ -914,6 +963,7 @@ and stop extraction when they are exceeded.
If this value is an \f[I]integer\f[], it gets used as the limit maximum
instead of the value listed on \f[I]https://e-hentai.org/home.php\f[]
+
.SS extractor.exhentai.original
.IP "Type:" 6
\f[I]bool\f[]
@@ -924,6 +974,7 @@ instead of the value listed on \f[I]https://e-hentai.org/home.php\f[]
.IP "Description:" 4
Download full-sized original images if available.
+
.SS extractor.exhentai.wait-min & .wait-max
.IP "Type:" 6
\f[I]float\f[]
@@ -939,6 +990,7 @@ ExHentai detects and blocks automated downloaders.
seconds between \f[I]wait-min\f[] and \f[I]wait-max\f[] after
each image to prevent getting blocked.
+
.SS extractor.flickr.access-token & .access-token-secret
.IP "Type:" 6
\f[I]string\f[]
@@ -948,7 +1000,8 @@ each image to prevent getting blocked.
.IP "Description:" 4
The \f[I]access_token\f[] and \f[I]access_token_secret\f[] values you get
-from \f[I]linking your Flickr account to gallery-dl <OAuth_>\f[].
+from \f[I]linking your Flickr account to gallery-dl\f[].
+
.SS extractor.flickr.videos
.IP "Type:" 6
@@ -960,6 +1013,7 @@ from \f[I]linking your Flickr account to gallery-dl <OAuth_>\f[].
.IP "Description:" 4
Extract and download videos.
+
.SS extractor.flickr.size-max
.IP "Type:" 6
\f[I]integer\f[] or \f[I]string\f[]
@@ -978,6 +1032,7 @@ Sets the maximum allowed size for downloaded images.
(\f[I]"Original"\f[], \f[I]"Large"\f[], ... or \f[I]"o"\f[], \f[I]"k"\f[], \f[I]"h"\f[],
\f[I]"l"\f[], ...) to use as an upper limit.
+
.SS extractor.furaffinity.include
.IP "Type:" 6
\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
@@ -997,6 +1052,7 @@ Possible values are
You can use \f[I]"all"\f[] instead of listing all values separately.
+
.SS extractor.gelbooru.api
.IP "Type:" 6
\f[I]bool\f[]
@@ -1010,6 +1066,7 @@ Enable use of Gelbooru's API.
Set this value to false if the API has been disabled to switch
to manual information extraction.
+
.SS extractor.gfycat.format
.IP "Type:" 6
\f[I]string\f[]
@@ -1025,6 +1082,27 @@ If the selected format is not available, \f[I]"mp4"\f[], \f[I]"webm"\f[]
and \f[I]"gif"\f[] (in that order) will be tried instead, until an
available format is found.
+
+.SS extractor.hentaifoundry.include
+.IP "Type:" 6
+\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
+
+.IP "Default:" 9
+\f[I]"pictures"\f[]
+
+.IP "Example:" 4
+"scraps,stories" or ["scraps", "stories"]
+
+.IP "Description:" 4
+A (comma-separated) list of subcategories to include
+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.
+
+
.SS extractor.hitomi.metadata
.IP "Type:" 6
\f[I]bool\f[]
@@ -1034,8 +1112,8 @@ available format is found.
.IP "Description:" 4
Try to extract
-\f[I]artist\f[], \f[I]group\f[], \f[I]parody\f[], and \f[I]characters\f[]
-metadata.
+\f[I]artist\f[], \f[I]group\f[], \f[I]parody\f[], and \f[I]characters\f[] metadata.
+
.SS extractor.imgur.mp4
.IP "Type:" 6
@@ -1055,6 +1133,7 @@ Controls whether to choose the GIF or MP4 version of an animation.
.br
* \f[I]"always"\f[]: Always choose MP4.
+
.SS extractor.inkbunny.orderby
.IP "Type:" 6
\f[I]string\f[]
@@ -1065,9 +1144,10 @@ Controls whether to choose the GIF or MP4 version of an animation.
.IP "Description:" 4
Value of the \f[I]orderby\f[] parameter for submission searches.
-(See \f[I]API#Search <https://wiki.inkbunny.net/wiki/API#Search>\f[]
+(See \f[I]API#Search\f[]
for details)
+
.SS extractor.instagram.highlights
.IP "Type:" 6
\f[I]bool\f[]
@@ -1079,6 +1159,7 @@ for details)
Include *Story Highlights* when downloading a user profile.
(requires authentication)
+
.SS extractor.instagram.videos
.IP "Type:" 6
\f[I]bool\f[]
@@ -1089,6 +1170,7 @@ Include *Story Highlights* when downloading a user profile.
.IP "Description:" 4
Download video files.
+
.SS extractor.khinsider.format
.IP "Type:" 6
\f[I]string\f[]
@@ -1105,20 +1187,6 @@ or a (comma-separated) list to select multiple formats.
If the selected format is not available,
the first in the list gets chosen (usually mp3).
-.SS extractor.kissmanga.captcha
-.IP "Type:" 6
-\f[I]string\f[]
-
-.IP "Default:" 9
-\f[I]"stop"\f[]
-
-.IP "Description:" 4
-Controls how to handle redirects to CAPTCHA pages.
-
-.br
-* \f[I]"stop\f[]: Stop the current extractor run.
-.br
-* \f[I]"wait\f[]: Ask the user to solve the CAPTCHA and wait.
.SS extractor.newgrounds.include
.IP "Type:" 6
@@ -1139,6 +1207,24 @@ Possible values are
You can 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[]
+
+.IP "Default:" 9
+\f[I]"illustration,doujin"\f[]
+
+.IP "Description:" 4
+A (comma-separated) list of subcategories to include
+when processing a user profile.
+
+Possible values are
+\f[I]"illustration"\f[], \f[I]"doujin"\f[], \f[I]"favorite"\f[].
+
+You can use \f[I]"all"\f[] instead of listing all values separately.
+
+
.SS extractor.oauth.browser
.IP "Type:" 6
\f[I]bool\f[]
@@ -1147,14 +1233,15 @@ You can use \f[I]"all"\f[] instead of listing all values separately.
\f[I]true\f[]
.IP "Description:" 4
-Controls how a user is directed to an OAuth authorization site.
+Controls how a user is directed to an OAuth authorization page.
.br
* \f[I]true\f[]: Use Python's \f[I]webbrowser.open()\f[] method to automatically
-open the URL in the user's browser.
+open the URL in the user's default browser.
.br
* \f[I]false\f[]: Ask the user to copy & paste an URL from the terminal.
+
.SS extractor.oauth.cache
.IP "Type:" 6
\f[I]bool\f[]
@@ -1164,7 +1251,8 @@ open the URL in the user's browser.
.IP "Description:" 4
Store tokens received during OAuth authorizations
-in \f[I]cache <cache.file_>\f[].
+in \f[I]cache\f[].
+
.SS extractor.oauth.port
.IP "Type:" 6
@@ -1181,6 +1269,7 @@ 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.
+
.SS extractor.photobucket.subalbums
.IP "Type:" 6
\f[I]bool\f[]
@@ -1191,6 +1280,7 @@ port than the default.
.IP "Description:" 4
Download subalbums.
+
.SS extractor.pinterest.sections
.IP "Type:" 6
\f[I]bool\f[]
@@ -1201,6 +1291,7 @@ Download subalbums.
.IP "Description:" 4
Include pins from board sections.
+
.SS extractor.pixiv.user.avatar
.IP "Type:" 6
\f[I]bool\f[]
@@ -1211,6 +1302,7 @@ Include pins from board sections.
.IP "Description:" 4
Download user avatars.
+
.SS extractor.pixiv.ugoira
.IP "Type:" 6
\f[I]bool\f[]
@@ -1224,9 +1316,10 @@ Download Pixiv's Ugoira animations or ignore them.
These animations come as a \f[I].zip\f[] file containing all
animation frames in JPEG format.
-Use an \f[I]ugoira\f[] post processor to convert them
+Use an ugoira post processor to convert them
to watchable videos. (Example__)
+
.SS extractor.plurk.comments
.IP "Type:" 6
\f[I]bool\f[]
@@ -1237,6 +1330,7 @@ to watchable videos. (Example__)
.IP "Description:" 4
Also search Plurk comments for URLs.
+
.SS extractor.reactor.wait-min & .wait-max
.IP "Type:" 6
\f[I]float\f[]
@@ -1248,6 +1342,7 @@ Also search Plurk comments for URLs.
Minimum and maximum wait time in seconds between HTTP requests
during the extraction process.
+
.SS extractor.readcomiconline.captcha
.IP "Type:" 6
\f[I]string\f[]
@@ -1263,6 +1358,7 @@ Controls how to handle redirects to CAPTCHA pages.
.br
* \f[I]"wait\f[]: Ask the user to solve the CAPTCHA and wait.
+
.SS extractor.reddit.comments
.IP "Type:" 6
\f[I]integer\f[]
@@ -1282,6 +1378,7 @@ appear to be 200 and 500 respectively.
The value \f[I]0\f[] ignores all comments and significantly reduces the
time required when scanning a subreddit.
+
.SS extractor.reddit.morecomments
.IP "Type:" 6
\f[I]bool\f[]
@@ -1295,6 +1392,7 @@ stubs in the base comment tree.
This requires 1 additional API call for every 100 extra comments.
+
.SS extractor.reddit.date-min & .date-max
.IP "Type:" 6
\f[I]Date\f[]
@@ -1305,6 +1403,7 @@ This requires 1 additional API call for every 100 extra comments.
.IP "Description:" 4
Ignore all submissions posted before/after this date.
+
.SS extractor.reddit.id-min & .id-max
.IP "Type:" 6
\f[I]string\f[]
@@ -1313,8 +1412,8 @@ Ignore all submissions posted before/after this date.
"6kmzv2"
.IP "Description:" 4
-Ignore all submissions posted before/after the submission with
-this ID.
+Ignore all submissions posted before/after the submission with this ID.
+
.SS extractor.reddit.recursion
.IP "Type:" 6
@@ -1329,12 +1428,12 @@ linked to in the initial set of submissions.
This value sets the maximum recursion depth.
Special values:
-
.br
* \f[I]0\f[]: Recursion is disabled
.br
* \f[I]-1\f[]: Infinite recursion (don't do this)
+
.SS extractor.reddit.refresh-token
.IP "Type:" 6
\f[I]string\f[]
@@ -1344,7 +1443,7 @@ Special values:
.IP "Description:" 4
The \f[I]refresh-token\f[] value you get from
-\f[I]linking your Reddit account to gallery-dl <OAuth_>\f[].
+\f[I]linking your Reddit account to gallery-dl\f[].
Using a \f[I]refresh-token\f[] allows you to access private or otherwise
not publicly available subreddits, given that your account is
@@ -1352,6 +1451,7 @@ authorized to do so,
but requests to the reddit API are going to be rate limited
at 600 requests every 10 minutes/600 seconds.
+
.SS extractor.reddit.videos
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -1371,6 +1471,7 @@ video extraction and download
.br
* \f[I]false\f[]: Ignore videos
+
.SS extractor.redgifs.format
.IP "Type:" 6
\f[I]string\f[]
@@ -1387,6 +1488,7 @@ If the selected format is not available, \f[I]"mp4"\f[], \f[I]"webm"\f[]
and \f[I]"gif"\f[] (in that order) will be tried instead, until an
available format is found.
+
.SS extractor.sankaku.wait-min & .wait-max
.IP "Type:" 6
\f[I]float\f[]
@@ -1401,6 +1503,7 @@ Sankaku Channel responds with \f[I]429 Too Many Requests\f[] if it
receives too many HTTP requests in a certain amount of time.
Waiting a few seconds between each request tries to prevent that.
+
.SS extractor.smugmug.videos
.IP "Type:" 6
\f[I]bool\f[]
@@ -1411,6 +1514,7 @@ Waiting a few seconds between each request tries to prevent that.
.IP "Description:" 4
Download video files.
+
.SS extractor.tumblr.avatar
.IP "Type:" 6
\f[I]bool\f[]
@@ -1421,6 +1525,7 @@ Download video files.
.IP "Description:" 4
Download blog avatars.
+
.SS extractor.tumblr.date-min & .date-max
.IP "Type:" 6
\f[I]Date\f[]
@@ -1431,6 +1536,7 @@ Download blog avatars.
.IP "Description:" 4
Ignore all posts published before/after this date.
+
.SS extractor.tumblr.external
.IP "Type:" 6
\f[I]bool\f[]
@@ -1442,6 +1548,7 @@ Ignore all posts published before/after this date.
Follow external URLs (e.g. from "Link" posts) and try to extract
images from them.
+
.SS extractor.tumblr.inline
.IP "Type:" 6
\f[I]bool\f[]
@@ -1452,6 +1559,7 @@ images from them.
.IP "Description:" 4
Search posts for inline images and videos.
+
.SS extractor.tumblr.reblogs
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -1468,6 +1576,7 @@ Search posts for inline images and videos.
* \f[I]"same-blog"\f[]: Skip reblogged posts unless the original post
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[]
@@ -1486,6 +1595,7 @@ Possible types are \f[I]text\f[], \f[I]quote\f[], \f[I]link\f[], \f[I]answer\f[]
You can use \f[I]"all"\f[] instead of listing all types separately.
+
.SS extractor.twitter.quoted
.IP "Type:" 6
\f[I]bool\f[]
@@ -1496,6 +1606,7 @@ You can use \f[I]"all"\f[] instead of listing all types separately.
.IP "Description:" 4
Fetch media from quoted Tweets.
+
.SS extractor.twitter.replies
.IP "Type:" 6
\f[I]bool\f[]
@@ -1506,6 +1617,7 @@ Fetch media from quoted Tweets.
.IP "Description:" 4
Fetch media from replies to other Tweets.
+
.SS extractor.twitter.retweets
.IP "Type:" 6
\f[I]bool\f[]
@@ -1516,6 +1628,10 @@ Fetch media from replies to other Tweets.
.IP "Description:" 4
Fetch media from Retweets.
+If this value is \f[I]"original"\f[], metadata for these files
+will be taken from the original Tweets, not the Retweets.
+
+
.SS extractor.twitter.twitpic
.IP "Type:" 6
\f[I]bool\f[]
@@ -1524,7 +1640,8 @@ Fetch media from Retweets.
\f[I]false\f[]
.IP "Description:" 4
-Extract \f[I]TwitPic <https://twitpic.com/>\f[] embeds.
+Extract \f[I]TwitPic\f[] embeds.
+
.SS extractor.twitter.videos
.IP "Type:" 6
@@ -1543,6 +1660,7 @@ Control video download behavior.
.br
* \f[I]false\f[]: Skip video Tweets
+
.SS extractor.vsco.videos
.IP "Type:" 6
\f[I]bool\f[]
@@ -1553,6 +1671,7 @@ Control video download behavior.
.IP "Description:" 4
Download video files.
+
.SS extractor.wallhaven.api-key
.IP "Type:" 6
\f[I]string\f[]
@@ -1561,11 +1680,12 @@ Download video files.
\f[I]null\f[]
.IP "Description:" 4
-Your \f[I]API Key <https://wallhaven.cc/settings/account>\f[] to use
+Your \f[I]API Key\f[] to use
your account's browsing settings and default filters when searching.
See https://wallhaven.cc/help/api for more information.
+
.SS extractor.weibo.retweets
.IP "Type:" 6
\f[I]bool\f[]
@@ -1576,6 +1696,7 @@ See https://wallhaven.cc/help/api for more information.
.IP "Description:" 4
Extract media from retweeted posts.
+
.SS extractor.weibo.videos
.IP "Type:" 6
\f[I]bool\f[]
@@ -1586,6 +1707,7 @@ Extract media from retweeted posts.
.IP "Description:" 4
Download video files.
+
.SS extractor.[booru].tags
.IP "Type:" 6
\f[I]bool\f[]
@@ -1599,6 +1721,7 @@ and provide them as \f[I]tags_<type>\f[] metadata fields.
Note: This requires 1 additional HTTP request for each post.
+
.SS extractor.[manga-extractor].chapter-reverse
.IP "Type:" 6
\f[I]bool\f[]
@@ -1614,6 +1737,7 @@ Reverse the order of chapter URLs extracted from manga pages.
.br
* \f[I]false\f[]: Start with the first chapter
+
.SH DOWNLOADER OPTIONS
.SS downloader.*.enabled
.IP "Type:" 6
@@ -1625,6 +1749,7 @@ Reverse the order of chapter URLs extracted from manga pages.
.IP "Description:" 4
Enable/Disable this downloader module.
+
.SS downloader.*.filesize-min & .filesize-max
.IP "Type:" 6
\f[I]string\f[]
@@ -1643,6 +1768,7 @@ Possible values are valid integer or floating-point numbers
optionally followed by one of \f[I]k\f[], \f[I]m\f[]. \f[I]g\f[], \f[I]t\f[] or \f[I]p\f[].
These suffixes are case-insensitive.
+
.SS downloader.*.mtime
.IP "Type:" 6
\f[I]bool\f[]
@@ -1654,6 +1780,7 @@ These suffixes are case-insensitive.
Use \f[I]Last-Modified\f[] HTTP response headers
to set file modification times.
+
.SS downloader.*.part
.IP "Type:" 6
\f[I]bool\f[]
@@ -1672,6 +1799,7 @@ resuming incomplete downloads.
* \f[I]false\f[]: Do not use \f[I].part\f[] files and write data directly
into the actual output files.
+
.SS downloader.*.part-directory
.IP "Type:" 6
\f[I]Path\f[]
@@ -1686,6 +1814,7 @@ Missing directories will be created as needed.
If this value is \f[I]null\f[], \f[I].part\f[] files are going to be stored
alongside the actual output files.
+
.SS downloader.*.rate
.IP "Type:" 6
\f[I]string\f[]
@@ -1703,6 +1832,7 @@ Possible values are valid integer or floating-point numbers
optionally followed by one of \f[I]k\f[], \f[I]m\f[]. \f[I]g\f[], \f[I]t\f[] or \f[I]p\f[].
These suffixes are case-insensitive.
+
.SS downloader.*.retries
.IP "Type:" 6
\f[I]integer\f[]
@@ -1711,9 +1841,10 @@ These suffixes are case-insensitive.
\f[I]extractor.*.retries\f[]
.IP "Description:" 4
-Maximum number of retries during file downloads
+Maximum number of retries during file downloads,
or \f[I]-1\f[] for infinite retries.
+
.SS downloader.*.timeout
.IP "Type:" 6
\f[I]float\f[] or \f[I]null\f[]
@@ -1724,6 +1855,7 @@ or \f[I]-1\f[] for infinite retries.
.IP "Description:" 4
Connection timeout during file downloads.
+
.SS downloader.*.verify
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -1734,6 +1866,7 @@ Connection timeout during file downloads.
.IP "Description:" 4
Certificate validation during file downloads.
+
.SS downloader.http.adjust-extensions
.IP "Type:" 6
\f[I]bool\f[]
@@ -1745,6 +1878,7 @@ Certificate validation during file downloads.
Check the file headers of \f[I]jpg\f[], \f[I]png\f[], and \f[I]gif\f[] files
and adjust their filename extensions if they do not match.
+
.SS downloader.ytdl.format
.IP "Type:" 6
\f[I]string\f[]
@@ -1757,6 +1891,7 @@ Video \f[I]format selection
<https://github.com/ytdl-org/youtube-dl#format-selection>\f[]
directly passed to youtube-dl.
+
.SS downloader.ytdl.forward-cookies
.IP "Type:" 6
\f[I]bool\f[]
@@ -1767,6 +1902,7 @@ directly passed to youtube-dl.
.IP "Description:" 4
Forward cookies to youtube-dl.
+
.SS downloader.ytdl.logging
.IP "Type:" 6
\f[I]bool\f[]
@@ -1776,13 +1912,12 @@ Forward cookies to youtube-dl.
.IP "Description:" 4
Route youtube-dl's output through gallery-dl's logging system.
-.br
Otherwise youtube-dl will write its output directly to stdout/stderr.
-.br
Note: Set \f[I]quiet\f[] and \f[I]no_warnings\f[] in
\f[I]downloader.ytdl.raw-options\f[] to \f[I]true\f[] to suppress all output.
+
.SS downloader.ytdl.outtmpl
.IP "Type:" 6
\f[I]string\f[]
@@ -1791,7 +1926,7 @@ Note: Set \f[I]quiet\f[] and \f[I]no_warnings\f[] in
\f[I]null\f[]
.IP "Description:" 4
-The \f[I]Output Template <https://github.com/ytdl-org/youtube-dl#output-template>\f[]
+The \f[I]Output Template\f[]
used to generate filenames for files downloaded with youtube-dl.
Special values:
@@ -1805,6 +1940,7 @@ Note: An output template other than \f[I]null\f[] might
cause unexpected results in combination with other options
(e.g. \f[I]"skip": "enumerate"\f[])
+
.SS downloader.ytdl.raw-options
.IP "Type:" 6
\f[I]object\f[]
@@ -1821,11 +1957,11 @@ cause unexpected results in combination with other options
.IP "Description:" 4
Additional options passed directly to the \f[I]YoutubeDL\f[] constructor.
-.br
+
All available options can be found in \f[I]youtube-dl's docstrings
-.br
<https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/YoutubeDL.py#L138-L318>\f[].
+
.SH OUTPUT OPTIONS
.SS output.mode
.IP "Type:" 6
@@ -1848,6 +1984,7 @@ Controls the output string format and status indicators.
.br
* \f[I]"auto"\f[]: Automatically choose the best suitable output mode
+
.SS output.shorten
.IP "Type:" 6
\f[I]bool\f[]
@@ -1859,6 +1996,7 @@ Controls the output string format and status indicators.
Controls whether the output strings should be shortened to fit
on one console line.
+
.SS output.progress
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -1880,6 +2018,7 @@ multiple URLs as arguments.
as a custom \f[I]format string\f[]. Possible replacement keys are
\f[I]current\f[], \f[I]total\f[] and \f[I]url\f[].
+
.SS output.log
.IP "Type:" 6
\f[I]string\f[] or \f[I]Logging Configuration\f[]
@@ -1893,6 +2032,7 @@ Configuration for standard logging output to stderr.
If this is a simple \f[I]string\f[], it specifies
the format string for logging messages.
+
.SS output.logfile
.IP "Type:" 6
\f[I]Path\f[] or \f[I]Logging Configuration\f[]
@@ -1903,6 +2043,7 @@ the format string for logging messages.
.IP "Description:" 4
File to write logging output to.
+
.SS output.unsupportedfile
.IP "Type:" 6
\f[I]Path\f[] or \f[I]Logging Configuration\f[]
@@ -1915,6 +2056,7 @@ File to write external URLs unsupported by *gallery-dl* to.
The default format string here is \f[I]"{message}"\f[].
+
.SS output.num-to-str
.IP "Type:" 6
\f[I]bool\f[]
@@ -1926,6 +2068,7 @@ The default format string here is \f[I]"{message}"\f[].
Convert numeric values (\f[I]integer\f[] or \f[I]float\f[]) to \f[I]string\f[]
before outputting them as JSON.
+
.SH POSTPROCESSOR OPTIONS
.SS classify.mapping
.IP "Type:" 6
@@ -1949,6 +2092,7 @@ be stored in them.
Files with an extension not listed will be ignored and stored
in their default location.
+
.SS compare.action
.IP "Type:" 6
\f[I]string\f[]
@@ -1963,7 +2107,8 @@ The action to take when files do not compare as equal.
* \f[I]"replace"\f[]: Replace/Overwrite the old version with the new one
.br
* \f[I]"enumerate"\f[]: Add an enumeration index to the filename of the new
-version like \f[I]skip = "enumerate" <extractor.*.skip_>\f[]
+version like \f[I]skip = "enumerate"\f[]
+
.SS compare.shallow
.IP "Type:" 6
@@ -1975,6 +2120,7 @@ version like \f[I]skip = "enumerate" <extractor.*.skip_>\f[]
.IP "Description:" 4
Only compare file sizes. Do not read and compare their content.
+
.SS exec.async
.IP "Type:" 6
\f[I]bool\f[]
@@ -1986,15 +2132,16 @@ Only compare file sizes. Do not read and compare their content.
Controls whether to wait for a subprocess to finish
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[]
.IP "Example:" 4
-"convert {} {}.png && rm {}",
.br
-["echo", "{user[account]}", "{id}"]
+* "convert {} {}.png && rm {}"
.br
+* ["echo", "{user[account]}", "{id}"]
.IP "Description:" 4
The command to run.
@@ -2012,6 +2159,7 @@ Each element of this list is treated as a \f[I]format string\f[] using
the files' metadata as well as \f[I]{_path}\f[], \f[I]{_directory}\f[],
and \f[I]{_filename}\f[].
+
.SS exec.final
.IP "Type:" 6
\f[I]bool\f[]
@@ -2024,6 +2172,7 @@ Controls whether to execute \f[I]exec.command\f[] for each
downloaded file or only once after all files
have been downloaded successfully.
+
.SS metadata.mode
.IP "Type:" 6
\f[I]string\f[]
@@ -2043,6 +2192,7 @@ Select how to write metadata.
* \f[I]"custom"\f[]: result of applying \f[I]metadata.content-format\f[]
to a file's metadata dictionary
+
.SS metadata.directory
.IP "Type:" 6
\f[I]string\f[]
@@ -2057,6 +2207,7 @@ to a file's metadata dictionary
Directory where metadata files are stored in relative to the
current target location for file downloads.
+
.SS metadata.extension
.IP "Type:" 6
\f[I]string\f[]
@@ -2068,15 +2219,16 @@ current target location for file downloads.
Filename extension for metadata files that will be appended to the
original file names.
+
.SS metadata.extension-format
.IP "Type:" 6
\f[I]string\f[]
.IP "Example:" 4
-"{extension}.json",
.br
-"json"
+* "{extension}.json"
.br
+* "json"
.IP "Description:" 4
Custom format string to build filename extensions for metadata
@@ -2084,6 +2236,7 @@ files with, which will replace the original filename extensions.
Note: \f[I]metadata.extension\f[] is ignored if this option is set.
+
.SS metadata.content-format
.IP "Type:" 6
\f[I]string\f[]
@@ -2096,6 +2249,7 @@ Custom format string to build the content of metadata files with.
Note: Only applies for \f[I]"mode": "custom"\f[].
+
.SS mtime.key
.IP "Type:" 6
\f[I]string\f[]
@@ -2109,6 +2263,7 @@ Name of the metadata field whose value should be used.
This value must either be a UNIX timestamp or a
\f[I]datetime\f[] object.
+
.SS ugoira.extension
.IP "Type:" 6
\f[I]string\f[]
@@ -2119,6 +2274,7 @@ This value must either be a UNIX timestamp or a
.IP "Description:" 4
Filename extension for the resulting video files.
+
.SS ugoira.ffmpeg-args
.IP "Type:" 6
\f[I]list\f[] of \f[I]strings\f[]
@@ -2132,6 +2288,7 @@ Filename extension for the resulting video files.
.IP "Description:" 4
Additional FFmpeg command-line arguments.
+
.SS ugoira.ffmpeg-location
.IP "Type:" 6
\f[I]Path\f[]
@@ -2142,6 +2299,7 @@ Additional FFmpeg command-line arguments.
.IP "Description:" 4
Location of the \f[I]ffmpeg\f[] (or \f[I]avconv\f[]) executable to use.
+
.SS ugoira.ffmpeg-output
.IP "Type:" 6
\f[I]bool\f[]
@@ -2152,6 +2310,7 @@ Location of the \f[I]ffmpeg\f[] (or \f[I]avconv\f[]) executable to use.
.IP "Description:" 4
Show FFmpeg output.
+
.SS ugoira.ffmpeg-twopass
.IP "Type:" 6
\f[I]bool\f[]
@@ -2162,6 +2321,7 @@ Show FFmpeg output.
.IP "Description:" 4
Enable Two-Pass encoding.
+
.SS ugoira.framerate
.IP "Type:" 6
\f[I]string\f[]
@@ -2180,6 +2340,7 @@ based on delays between frames.
.br
* \f[I]null\f[] or an empty \f[I]string\f[]: Don't set an explicit frame rate.
+
.SS ugoira.keep-files
.IP "Type:" 6
\f[I]bool\f[]
@@ -2190,6 +2351,7 @@ based on delays between frames.
.IP "Description:" 4
Keep ZIP archives after conversion.
+
.SS ugoira.libx264-prevent-odd
.IP "Type:" 6
\f[I]bool\f[]
@@ -2201,7 +2363,7 @@ Keep ZIP archives after conversion.
Prevent \f[I]"width/height not divisible by 2"\f[] errors
when using \f[I]libx264\f[] or \f[I]libx265\f[] encoders
by applying a simple cropping filter. See this \f[I]Stack Overflow
-thread <https://stackoverflow.com/questions/20847674>\f[]
+thread\f[]
for more information.
This option, when \f[I]libx264/5\f[] is used, automatically
@@ -2209,17 +2371,6 @@ adds \f[I]["-vf", "crop=iw-mod(iw\\\\,2):ih-mod(ih\\\\,2)"]\f[]
to the list of FFmpeg command-line arguments
to reduce an odd width/height by 1 pixel and make them even.
-.SS zip.compression
-.IP "Type:" 6
-\f[I]string\f[]
-
-.IP "Default:" 9
-\f[I]"store"\f[]
-
-.IP "Description:" 4
-Compression method to use when writing the archive.
-
-Possible values are \f[I]"store"\f[], \f[I]"zip"\f[], \f[I]"bzip2"\f[], \f[I]"lzma"\f[].
.SS zip.extension
.IP "Type:" 6
@@ -2231,6 +2382,7 @@ Possible values are \f[I]"store"\f[], \f[I]"zip"\f[], \f[I]"bzip2"\f[], \f[I]"lz
.IP "Description:" 4
Filename extension for the created ZIP archive.
+
.SS zip.keep-files
.IP "Type:" 6
\f[I]bool\f[]
@@ -2241,6 +2393,7 @@ Filename extension for the created ZIP archive.
.IP "Description:" 4
Keep the actual files after writing them to a ZIP archive.
+
.SS zip.mode
.IP "Type:" 6
\f[I]string\f[]
@@ -2261,6 +2414,7 @@ This greatly reduces the chance a ZIP archive gets corrupted in
case the Python interpreter gets shut down unexpectedly
(power outage, SIGKILL) but is also a lot slower.
+
.SH MISCELLANEOUS OPTIONS
.SS cache.file
.IP "Type:" 6
@@ -2279,6 +2433,7 @@ cookies and API tokens across gallery-dl invocations.
Set this option to \f[I]null\f[] or an invalid path to disable
this cache.
+
.SS ciphers
.IP "Type:" 6
\f[I]bool\f[] or \f[I]string\f[]
@@ -2293,9 +2448,10 @@ this cache.
* \f[I]false\f[]: Leave the default cipher list as is
.br
* Any \f[I]string\f[]: Replace urllib3's default ciphers with these
-(See \f[I]SSLContext.set_ciphers() <https://docs.python.org/3/library/ssl.html#ssl.SSLContext.set_ciphers>\f[]
+(See \f[I]SSLContext.set_ciphers()\f[]
for details)
+
.SS pyopenssl
.IP "Type:" 6
\f[I]bool\f[]
@@ -2304,18 +2460,19 @@ for details)
\f[I]false\f[]
.IP "Description:" 4
-Use \f[I]pyOpenSSL <https://www.pyopenssl.org/en/stable/>\f[]-backed
+Use \f[I]pyOpenSSL\f[]-backed
SSL-support.
+
.SH API TOKENS & IDS
.SS extractor.deviantart.client-id & .client-secret
.IP "Type:" 6
\f[I]string\f[]
-.IP "How To:" 4
+.IP "How To:" 4
.br
* login and visit DeviantArt's
-\f[I]Applications & Keys <https://www.deviantart.com/developers/apps>\f[]
+\f[I]Applications & Keys\f[]
section
.br
* click "Register Application"
@@ -2332,20 +2489,21 @@ Submission Policy, and Terms of Service.
application and put them in your configuration file
as \f[I]"client-id"\f[] and \f[I]"client-secret"\f[]
.br
-* clear your \f[I]cache <cache.file_>\f[] (\f[I]--clear-cache\f[]) to delete
+* clear your \f[I]cache\f[] (\f[I]--clear-cache\f[]) to delete
the \f[I]access-token\f[] from the previous \f[I]client-id\f[]
.br
-* get a new \f[I]refresh-token <extractor.deviantart.refresh-token_>\f[]
+* get a new \f[I]refresh-token\f[]
if necessary
+
.SS extractor.flickr.api-key & .api-secret
.IP "Type:" 6
\f[I]string\f[]
-.IP "How To:" 4
+.IP "How To:" 4
.br
-* login and \f[I]Create an App <https://www.flickr.com/services/apps/create/apply/>\f[]
-in Flickr's \f[I]App Garden <https://www.flickr.com/services/>\f[]
+* login and \f[I]Create an App\f[]
+in Flickr's \f[I]App Garden\f[]
.br
* click "APPLY FOR A NON-COMMERCIAL KEY"
.br
@@ -2355,21 +2513,14 @@ and click "SUBMIT"
* copy \f[I]Key\f[] and \f[I]Secret\f[] and put them in your configuration
file
-.SS extractor.pawoo.access-token
-.IP "Type:" 6
-\f[I]string\f[]
-
-.IP "How To
-:" 4
-
.SS extractor.reddit.client-id & .user-agent
.IP "Type:" 6
\f[I]string\f[]
-.IP "How To:" 4
+.IP "How To:" 4
.br
-* login and visit the \f[I]apps <https://www.reddit.com/prefs/apps/>\f[]
+* login and visit the \f[I]apps\f[]
section of your account's preferences
.br
* click the "are you a developer? create an app..." button
@@ -2384,15 +2535,16 @@ section of your account's preferences
* 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[]
accordingly (see Reddit's
-\f[I]API access rules <https://github.com/reddit/reddit/wiki/API>\f[])
+\f[I]API access rules\f[])
+
.SS extractor.smugmug.api-key & .api-secret
.IP "Type:" 6
\f[I]string\f[]
-.IP "How To:" 4
+.IP "How To:" 4
.br
-* login and \f[I]Apply for an API Key <https://api.smugmug.com/api/developer/apply>\f[]
+* login and \f[I]Apply for an API Key\f[]
.br
* use a random name and description,
set "Type" to "Application", "Platform" to "All",
@@ -2403,14 +2555,15 @@ and "Use" to "Non-Commercial"
* copy \f[I]API Key\f[] and \f[I]API Secret\f[]
and put them in your configuration file
+
.SS extractor.tumblr.api-key & .api-secret
.IP "Type:" 6
\f[I]string\f[]
-.IP "How To:" 4
+.IP "How To:" 4
.br
* login and visit Tumblr's
-\f[I]Applications <https://www.tumblr.com/oauth/apps>\f[] section
+\f[I]Applications\f[] section
.br
* click "Register application"
.br
@@ -2425,18 +2578,19 @@ callback URL"
* copy your \f[I]OAuth Consumer Key\f[] and \f[I]Secret Key\f[]
and put them in your configuration file
+
.SH CUSTOM TYPES
.SS Date
.IP "Type:" 6
\f[I]string\f[] or \f[I]integer\f[]
.IP "Example:" 4
-"2019-01-01T00:00:00",
.br
-"2019" with "%Y" as \f[I]date-format\f[],
+* "2019-01-01T00:00:00"
.br
-1546297200
+* "2019" with "%Y" as \f[I]date-format\f[]
.br
+* 1546297200
.IP "Description:" 4
A \f[I]Date\f[] value represents a specific point in time.
@@ -2446,26 +2600,27 @@ A \f[I]Date\f[] value represents a specific point in time.
.br
* If given as \f[I]integer\f[], it is interpreted as UTC timestamp.
+
.SS Path
.IP "Type:" 6
\f[I]string\f[] or \f[I]list\f[] of \f[I]strings\f[]
.IP "Example:" 4
-"file.ext",
.br
-"~/path/to/file.ext",
+* "file.ext"
.br
-"$HOME/path/to/file.ext",
+* "~/path/to/file.ext"
.br
-["$HOME", "path", "to", "file.ext"]
+* "$HOME/path/to/file.ext"
.br
+* ["$HOME", "path", "to", "file.ext"]
.IP "Description:" 4
A \f[I]Path\f[] is a \f[I]string\f[] representing the location of a file
or directory.
-Simple \f[I]tilde expansion <https://docs.python.org/3/library/os.path.html#os.path.expanduser>\f[]
-and \f[I]environment variable expansion <https://docs.python.org/3/library/os.path.html#os.path.expandvars>\f[]
+Simple \f[I]tilde expansion\f[]
+and \f[I]environment variable expansion\f[]
is supported.
In Windows environments, backslashes (\f[I]"\\"\f[]) can, in addition to
@@ -2475,11 +2630,11 @@ they themselves have to be escaped.
The path \f[I]C:\\path\\to\\file.ext\f[] has therefore to be written as
\f[I]"C:\\\\path\\\\to\\\\file.ext"\f[] if you want to use backslashes.
+
.SS Logging Configuration
.IP "Type:" 6
\f[I]object\f[]
-
.IP "Example:" 4
.. code::
@@ -2490,6 +2645,8 @@ The path \f[I]C:\\path\\to\\file.ext\f[] has therefore to be written as
"encoding": "ascii"
}
+.. code::
+
{
"level": "debug",
"format": {
@@ -2511,19 +2668,20 @@ Extended logging output configuration.
or a dictionary with format strings for each loglevel.
In addition to the default
-\f[I]LogRecord attributes <https://docs.python.org/3/library/logging.html#logrecord-attributes>\f[],
+\f[I]LogRecord attributes\f[],
it is also possible to access the current
-\f[I]extractor <https://github.com/mikf/gallery-dl/blob/2e516a1e3e09cb8a9e36a8f6f7e41ce8d4402f5a/gallery_dl/extractor/common.py#L24>\f[]
-and \f[I]job <https://github.com/mikf/gallery-dl/blob/2e516a1e3e09cb8a9e36a8f6f7e41ce8d4402f5a/gallery_dl/job.py#L19>\f[]
-objects as well as their attributes
-(e.g. \f[I]"{extractor.url}"\f[])
+\f[I]extractor\f[],
+\f[I]job\f[],
+\f[I]path\f[],
+and keywords objects and their attributes, for example
+\f[I]"{extractor.url}"\f[], \f[I]"{path.filename}"\f[], \f[I]"{keywords.title}"\f[]
.br
* Default: \f[I]"[{name}][{levelname}] {message}"\f[]
.br
* format-date
.br
* Format string for \f[I]{asctime}\f[] fields in logging messages
-(see \f[I]strftime() directives <https://docs.python.org/3/library/time.html#time.strftime>\f[])
+(see \f[I]strftime() directives\f[])
.br
* Default: \f[I]"%Y-%m-%d %H:%M:%S"\f[]
.br
@@ -2542,7 +2700,7 @@ objects as well as their attributes
.br
* Mode in which the file is opened;
use \f[I]"w"\f[] to truncate or \f[I]"a"\f[] to append
-(see \f[I]open() <https://docs.python.org/3/library/functions.html#open>\f[])
+(see \f[I]open()\f[])
.br
* Default: \f[I]"w"\f[]
.br
@@ -2555,14 +2713,18 @@ use \f[I]"w"\f[] to truncate or \f[I]"a"\f[] to append
Note: path, mode and encoding are only applied when configuring
logging output to a file.
+
.SS Postprocessor Configuration
.IP "Type:" 6
\f[I]object\f[]
-
.IP "Example:" 4
.. code::
+{ "name": "mtime" }
+
+.. code::
+
{
"name": "zip",
"compression": "store",
@@ -2570,17 +2732,34 @@ logging output to a file.
"whitelist": ["mangadex", "exhentai", "nhentai"]
}
-
.IP "Description:" 4
-An object with the \f[I]name\f[] of a post-processor and its options.
-
-See \f[I]Postprocessor Options\f[] for a list of all available
-post-processors and their respective options.
-
-You can also set a \f[I]whitelist\f[] or \f[I]blacklist\f[] to
+An \f[I]object\f[] containing a \f[I]"name"\f[] attribute specifying the
+post-processor type, as well as any of its \f[I]options\f[].
+It is also possible set a \f[I]"whitelist"\f[] or \f[I]"blacklist"\f[] to
only enable or disable a post-processor for the specified
extractor categories.
+The available post-processor types are
+
+\f[I]classify\f[]
+Categorize files by filename extension
+\f[I]compare\f[]
+Compare versions of the same file and replace/enumerate them on mismatch
+.br
+(requires \f[I]downloader.*.part\f[] = \f[I]true\f[] and \f[I]extractor.*.skip\f[] = \f[I]false\f[])
+.br
+\f[I]exec\f[]
+Execute external commands
+\f[I]metadata\f[]
+Write metadata to separate files
+\f[I]mtime\f[]
+Set file modification time according to its metadata
+\f[I]ugoira\f[]
+Convert Pixiv Ugoira to WebM using \f[I]FFmpeg\f[]
+\f[I]zip\f[]
+Store files in a ZIP archive
+
+
.SH BUGS
https://github.com/mikf/gallery-dl/issues