diff options
| author | 2020-10-12 18:14:27 -0400 | |
|---|---|---|
| committer | 2020-10-12 18:14:27 -0400 | |
| commit | e0c914765184ebbf99cffdecfe8cdbe10f42486e (patch) | |
| tree | 4dd89f11195c3f58b3b62b9911bbdc40d0e44471 /data/man | |
| parent | 9074eee175f76b824fbb6695d56426105191c51c (diff) | |
New upstream version 1.15.1.upstream/1.15.1
Diffstat (limited to 'data/man')
| -rw-r--r-- | data/man/gallery-dl.1 | 2 | ||||
| -rw-r--r-- | data/man/gallery-dl.conf.5 | 453 |
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 |
