2017-06-18 22:16:26 +02:00
|
|
|
|
Configuration
|
|
|
|
|
#############
|
|
|
|
|
|
|
|
|
|
Contents
|
|
|
|
|
========
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
1) `Extractor Options`_
|
|
|
|
|
2) `Extractor-specific Options`_
|
2017-06-18 22:16:26 +02:00
|
|
|
|
3) `Downloader Options`_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
4) `Output Options`_
|
2018-06-16 15:43:24 +02:00
|
|
|
|
5) `Postprocessor Options`_
|
|
|
|
|
6) `Miscellaneous Options`_
|
|
|
|
|
7) `API Tokens & IDs`_
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Extractor Options
|
|
|
|
|
=================
|
|
|
|
|
|
2017-06-28 18:51:47 +02:00
|
|
|
|
Each extractor is identified by its ``category`` and ``subcategory``.
|
|
|
|
|
The ``category`` is the lowercase site name without any spaces or special
|
|
|
|
|
characters, which is usually just the module name
|
2018-03-16 11:49:49 +01:00
|
|
|
|
(``pixiv``, ``danbooru``, ...).
|
2017-06-28 18:51:47 +02:00
|
|
|
|
The ``subcategory`` is a lowercase word describing the general functionality
|
|
|
|
|
of that extractor (``user``, ``favorite``, ``manga``, ...).
|
2017-06-27 18:56:24 +02:00
|
|
|
|
|
2017-06-27 17:44:02 +02:00
|
|
|
|
Each one of the following options can be specified on multiple levels of the
|
|
|
|
|
configuration tree:
|
|
|
|
|
|
|
|
|
|
================== =====
|
|
|
|
|
Base level: ``extractor.<option-name>``
|
|
|
|
|
Category level: ``extractor.<category>.<option-name>``
|
|
|
|
|
Subcategory level: ``extractor.<category>.<subcategory>.<option-name>``
|
|
|
|
|
================== =====
|
|
|
|
|
|
|
|
|
|
A value in a "deeper" level hereby overrides a value of the same name on a
|
|
|
|
|
lower level. Setting the ``extractor.pixiv.filename`` value, for example, lets
|
|
|
|
|
you specify a general filename pattern for all the different pixiv extractors.
|
|
|
|
|
Using the ``extractor.pixiv.user.filename`` value lets you override this
|
|
|
|
|
general pattern specifically for ``PixivUserExtractor`` instances.
|
|
|
|
|
|
2017-06-28 18:51:47 +02:00
|
|
|
|
The ``category`` and ``subcategory`` of all extractors are included in the
|
|
|
|
|
output of ``gallery-dl --list-extractors``. For a specific URL these values
|
2017-09-09 18:48:28 +02:00
|
|
|
|
can also be determined by using the ``-K``/``--list-keywords`` command-line
|
|
|
|
|
option (see the example below).
|
2017-06-28 13:55:39 +02:00
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
extractor.*.filename
|
|
|
|
|
--------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Example ``"{manga}_c{chapter}_{page:>03}.{extension}"``
|
|
|
|
|
Description A `format string`_ to build the resulting filename
|
|
|
|
|
for a downloaded file.
|
2017-06-27 17:44:02 +02:00
|
|
|
|
|
|
|
|
|
The available replacement keys depend on the extractor used. A list
|
|
|
|
|
of keys for a specific one can be acquired by calling *gallery-dl*
|
2017-09-09 18:48:28 +02:00
|
|
|
|
with the ``-K``/``--list-keywords`` command-line option.
|
2017-06-27 17:44:02 +02:00
|
|
|
|
For example:
|
|
|
|
|
|
|
|
|
|
.. code::
|
|
|
|
|
|
2017-09-09 18:48:28 +02:00
|
|
|
|
$ gallery-dl -K http://seiga.nicovideo.jp/seiga/im5977527
|
2017-06-27 17:44:02 +02:00
|
|
|
|
Keywords for directory names:
|
|
|
|
|
-----------------------------
|
|
|
|
|
category
|
|
|
|
|
seiga
|
|
|
|
|
subcategory
|
|
|
|
|
image
|
|
|
|
|
|
|
|
|
|
Keywords for filenames:
|
|
|
|
|
-----------------------
|
|
|
|
|
category
|
|
|
|
|
seiga
|
|
|
|
|
extension
|
|
|
|
|
None
|
|
|
|
|
image-id
|
|
|
|
|
5977527
|
|
|
|
|
subcategory
|
|
|
|
|
image
|
|
|
|
|
|
|
|
|
|
Note that even if the value of the ``extension`` key is missing or
|
|
|
|
|
``None``, it will filled in later when the file download is
|
|
|
|
|
starting. This key is therefore always available to provide
|
|
|
|
|
a valid filename extension.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.*.directory
|
|
|
|
|
---------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``list`` of ``strings``
|
|
|
|
|
Example ``["{category}", "{manga}", "c{chapter} - {title}"]``
|
|
|
|
|
Description A list of `format strings`_ for the resulting target directory.
|
2017-06-27 17:44:02 +02:00
|
|
|
|
|
|
|
|
|
Each individual string in such a list represents a single path
|
2018-03-16 11:49:49 +01:00
|
|
|
|
segment, which will be joined together and appended to the
|
2017-06-27 17:44:02 +02:00
|
|
|
|
base-directory_ to form the complete target directory path.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
extractor.*.base-directory
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Type |Path|_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Default ``"./gallery-dl/"``
|
|
|
|
|
Description Directory path used as the base for all download destinations.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
extractor.*.skip
|
|
|
|
|
----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool`` or ``string``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Controls the behavior when downloading a file whose filename
|
|
|
|
|
already exists.
|
|
|
|
|
|
|
|
|
|
* ``true``: Skip the download
|
|
|
|
|
* ``false``: Overwrite the already existing file
|
|
|
|
|
* ``"abort"``: Abort the current extractor run
|
|
|
|
|
* ``"exit"``: Exit the program altogether
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-12-04 17:06:17 +01:00
|
|
|
|
extractor.*.sleep
|
2017-12-18 00:12:08 +01:00
|
|
|
|
-----------------
|
2017-12-04 17:06:17 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``float``
|
|
|
|
|
Default ``0``
|
|
|
|
|
Description Number of seconds to sleep before each download.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
extractor.*.username & .password
|
|
|
|
|
--------------------------------
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``null``
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Description The username and password to use when attempting to log in to
|
|
|
|
|
another site.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Specifying username and password is
|
|
|
|
|
required for the ``pixiv``, ``nijie`` and ``seiga`` modules and
|
2018-03-16 11:49:49 +01:00
|
|
|
|
optional (but strongly recommended) for ``exhentai``,
|
|
|
|
|
``sankaku`` and ``idolcomplex``.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
These values can also be set via the ``-u/--username`` and
|
|
|
|
|
``-p/--password`` command-line options or by using a |.netrc|_ file.
|
2017-06-27 17:44:02 +02:00
|
|
|
|
(see Authentication_)
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-07-21 18:32:56 +02:00
|
|
|
|
extractor.*.cookies
|
|
|
|
|
-------------------
|
|
|
|
|
=========== =====
|
2018-05-27 16:48:54 +02:00
|
|
|
|
Type |Path|_ or ``object``
|
2017-07-21 18:32:56 +02:00
|
|
|
|
Default ``null``
|
|
|
|
|
Description Source to read additional cookies from.
|
|
|
|
|
|
2018-05-27 16:48:54 +02:00
|
|
|
|
* If this is a |Path|_, it specifies a
|
2017-07-21 18:32:56 +02:00
|
|
|
|
Mozilla/Netscape format cookies.txt file.
|
|
|
|
|
* If this is an ``object``, its key-value pairs, which should both
|
|
|
|
|
be ``strings``, will be used as cookie-names and -values.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-02-19 18:24:56 +01:00
|
|
|
|
extractor.*.proxy
|
|
|
|
|
-----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string`` or ``object``
|
|
|
|
|
Default ``null``
|
|
|
|
|
Description Proxy (or proxies) to be used for remote connections.
|
|
|
|
|
|
|
|
|
|
* If this is a ``string``, it is the proxy URL for all
|
|
|
|
|
outgoing requests.
|
|
|
|
|
* If this is an ``object``, it is a scheme-to-proxy mapping to
|
|
|
|
|
specify different proxy URLs for each scheme.
|
|
|
|
|
It is also possible to set a proxy for a specific host by using
|
|
|
|
|
``scheme://host`` as key.
|
|
|
|
|
See `Requests' proxy documentation`_ for more details.
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
.. code::
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"http": "http://10.10.1.10:3128",
|
|
|
|
|
"https": "http://10.10.1.10:1080",
|
|
|
|
|
"http://10.20.1.128": "http://10.10.1.10:5323"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Note that all proxy URLs should include a scheme,
|
|
|
|
|
otherwise ``http://`` is assumed.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-11-15 13:54:40 +01:00
|
|
|
|
extractor.*.user-agent
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"``
|
|
|
|
|
Description User-Agent header value to be used for HTTP requests.
|
|
|
|
|
|
|
|
|
|
Note that this option has no effect on `pixiv` and
|
|
|
|
|
`readcomiconline` extractors, as these need specific values to
|
|
|
|
|
function correctly.
|
|
|
|
|
=========== =====
|
2018-02-08 23:10:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.*.keywords
|
|
|
|
|
--------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``object``
|
2018-02-19 18:24:56 +01:00
|
|
|
|
Example ``{"type": "Pixel Art", "type_id": 123}``
|
2018-02-08 23:10:58 +01:00
|
|
|
|
Description Additional key-value pairs to be added to each metadata dictionary.
|
|
|
|
|
=========== =====
|
2017-11-15 13:54:40 +01:00
|
|
|
|
|
|
|
|
|
|
2018-02-21 23:18:21 +01:00
|
|
|
|
extractor.*.keywords-default
|
|
|
|
|
----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type any
|
|
|
|
|
Default ``"None"``
|
|
|
|
|
Description Default value used for missing or undefined keyword names in
|
|
|
|
|
format strings.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-02-01 22:00:44 +01:00
|
|
|
|
extractor.*.archive
|
|
|
|
|
-------------------
|
|
|
|
|
=========== =====
|
2018-05-27 16:48:54 +02:00
|
|
|
|
Type |Path|_
|
2018-02-01 22:00:44 +01:00
|
|
|
|
Default ``null``
|
|
|
|
|
Description File to store IDs of downloaded files in. Downloads of files
|
|
|
|
|
already recorded in this archive file will be skipped_.
|
|
|
|
|
|
|
|
|
|
The resulting archive file is not a plain text file but an SQLite3
|
2018-02-24 21:21:59 +01:00
|
|
|
|
database, as either lookup operations are significantly faster or
|
|
|
|
|
memory requirements are significantly lower when the
|
2018-02-01 22:00:44 +01:00
|
|
|
|
amount of stored IDs gets reasonably large.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-02-24 21:21:59 +01:00
|
|
|
|
extractor.*.archive-format
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Example ``"{id}_{offset}"``
|
|
|
|
|
Description An alternative `format string`_ to build archive IDs with.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-06-16 15:43:24 +02:00
|
|
|
|
extractor.*.postprocessors
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``list`` of |Postprocessor Configuration|_ objects
|
|
|
|
|
Example .. code::
|
|
|
|
|
|
|
|
|
|
[
|
|
|
|
|
{"name": "zip", "compression": "zip"},
|
|
|
|
|
{"name": "exec", "command": ["/home/asd/script", "{category}", "{image_id}"]}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
Description A list of post-processors to be applied to each downloaded file
|
|
|
|
|
in the same order as they are specified.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
Extractor-specific Options
|
|
|
|
|
==========================
|
|
|
|
|
|
2018-03-14 14:03:53 +01:00
|
|
|
|
extractor.artstation.external
|
|
|
|
|
-----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Try to follow external URLs of embedded players.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-07-12 17:05:31 +02:00
|
|
|
|
extractor.deviantart.flat
|
|
|
|
|
-------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Select the directory structure created by the Gallery- and
|
|
|
|
|
Favorite-Extractors.
|
|
|
|
|
|
|
|
|
|
* ``true``: Use a flat directory structure.
|
|
|
|
|
* ``false``: Collect a list of all gallery-folders or
|
2017-08-10 17:36:21 +02:00
|
|
|
|
favorites-collections and transfer any further work to other
|
2017-07-12 17:05:31 +02:00
|
|
|
|
extractors (``folder`` or ``collection``), which will then
|
|
|
|
|
create individual subdirectories for each of them.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-07-16 18:14:41 +02:00
|
|
|
|
extractor.deviantart.journals
|
|
|
|
|
-----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"html"``
|
|
|
|
|
Description Selects the output format of journal entries.
|
|
|
|
|
|
|
|
|
|
- ``"html"``: HTML with (roughly) the same layout as on DeviantArt.
|
|
|
|
|
- ``"text"``: Plain text with image references and HTML tags removed.
|
|
|
|
|
- ``"none"``: Don't download journals.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-09 23:20:17 +02:00
|
|
|
|
extractor.deviantart.mature
|
|
|
|
|
---------------------------
|
2017-10-07 13:07:34 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
2017-10-09 23:20:17 +02:00
|
|
|
|
Description Enable mature content.
|
2017-10-07 13:07:34 +02:00
|
|
|
|
|
2017-10-09 23:20:17 +02:00
|
|
|
|
This option simply sets the |mature_content|_ parameter for API
|
|
|
|
|
calls to either ``"true"`` or ``"false"`` and does not do any other
|
|
|
|
|
form of content filtering.
|
2017-10-07 13:07:34 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-09 23:20:17 +02:00
|
|
|
|
extractor.deviantart.original
|
|
|
|
|
-----------------------------
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Description Download full-sized original images if available.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
2017-10-09 23:20:17 +02:00
|
|
|
|
Some of DeviantArt's images require an additional API call to get
|
|
|
|
|
their actual original version, which is being hosted on
|
|
|
|
|
Amazon Web Services (AWS) servers.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-07-25 12:52:36 +02:00
|
|
|
|
extractor.deviantart.refresh-token
|
|
|
|
|
----------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``null``
|
|
|
|
|
Description The ``refresh_token`` value you get from linking your
|
|
|
|
|
DeviantArt account to *gallery-dl*.
|
|
|
|
|
|
|
|
|
|
Using a ``refresh_token`` allows you to access private or otherwise
|
|
|
|
|
not publicly available deviations.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-07-14 11:52:21 +02:00
|
|
|
|
extractor.deviantart.wait-min
|
|
|
|
|
-----------------------------
|
|
|
|
|
=========== =====
|
2018-07-25 12:52:36 +02:00
|
|
|
|
Type ``integer``
|
2018-07-14 11:52:21 +02:00
|
|
|
|
Default ``0``
|
2018-07-16 18:14:41 +02:00
|
|
|
|
Description Minimum wait time in seconds before API requests.
|
2018-07-14 11:52:21 +02:00
|
|
|
|
|
|
|
|
|
Note: This value will internally be rounded up
|
|
|
|
|
to the next power of 2.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
extractor.exhentai.original
|
|
|
|
|
---------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Description Download full-sized original images if available.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
extractor.exhentai.wait-min & .wait-max
|
|
|
|
|
---------------------------------------
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``float``
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Default ``3.0`` and ``6.0``
|
|
|
|
|
Description Minimum and maximum wait time in seconds between each image
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
2017-08-31 15:21:08 +02:00
|
|
|
|
ExHentai detects and blocks automated downloaders.
|
2017-10-12 23:37:28 +02:00
|
|
|
|
*gallery-dl* waits a randomly selected number of
|
2017-06-18 22:16:26 +02:00
|
|
|
|
seconds between ``wait-min`` and ``wait-max`` after
|
|
|
|
|
each image to prevent getting blocked.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
extractor.flickr.access-token & .access-token-secret
|
|
|
|
|
----------------------------------------------------
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``null``
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Description The ``access_token`` and ``access_token_secret`` values you get
|
|
|
|
|
from linking your Flickr account to *gallery-dl*.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.flickr.metadata
|
|
|
|
|
-------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Load additional metadata when using the single-image extractor.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-06-20 16:20:28 +02:00
|
|
|
|
extractor.flickr.size-max
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``integer`` or ``string``
|
|
|
|
|
Default ``null``
|
|
|
|
|
Description Sets the maximum allowed size for downloaded images.
|
|
|
|
|
|
|
|
|
|
* If this is an ``integer``, it specifies the maximum image dimension
|
|
|
|
|
(width and height) in pixels.
|
|
|
|
|
* If this is a ``string``, it should be one of Flickr's format specifiers
|
2017-06-27 18:56:24 +02:00
|
|
|
|
(``"Original"``, ``"Large"``, ... or ``"o"``, ``"k"``, ``"h"``,
|
2017-10-12 23:37:28 +02:00
|
|
|
|
``"l"``, ...) to use as an upper limit.
|
2017-06-20 16:20:28 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
2017-12-21 21:42:40 +01:00
|
|
|
|
|
|
|
|
|
extractor.gelbooru.api
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Enable use of Gelbooru's API.
|
|
|
|
|
|
|
|
|
|
Set this value to `false` if the API has been disabled to switch
|
|
|
|
|
to manual information extraction.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
2017-06-20 16:20:28 +02:00
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
extractor.gfycat.format
|
|
|
|
|
-----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"mp4"``
|
|
|
|
|
Description The name of the preferred animation format, which can be one of
|
|
|
|
|
``"mp4"``, ``"webm"``, ``"gif"``, ``"webp"`` or ``"mjpg"``.
|
|
|
|
|
|
|
|
|
|
If the selected format is not available, ``"mp4"``, ``"webm"``
|
|
|
|
|
and ``"gif"`` (in that order) will be tried instead, until an
|
|
|
|
|
available format is found.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.imgur.mp4
|
|
|
|
|
-------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool`` or ``string``
|
|
|
|
|
Default ``true``
|
2017-08-31 15:21:08 +02:00
|
|
|
|
Description Controls whether to choose the GIF or MP4 version of an animation.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
|
2017-06-20 16:20:28 +02:00
|
|
|
|
* ``true``: Follow Imgur's advice and choose MP4 if the
|
2017-06-18 22:16:26 +02:00
|
|
|
|
``prefer_video`` flag in an image's metadata is set.
|
2017-06-20 16:20:28 +02:00
|
|
|
|
* ``false``: Always choose GIF.
|
|
|
|
|
* ``"always"``: Always choose MP4.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.oauth.browser
|
|
|
|
|
-----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
2017-06-27 18:56:24 +02:00
|
|
|
|
Description Controls how a user is directed to an OAuth authorization site.
|
2017-06-20 16:20:28 +02:00
|
|
|
|
|
2017-06-23 16:14:51 +02:00
|
|
|
|
* ``true``: Use Python's |webbrowser.open()|_ method to automatically
|
2017-06-20 16:20:28 +02:00
|
|
|
|
open the URL in the user's browser.
|
|
|
|
|
* ``false``: Ask the user to copy & paste an URL from the terminal.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.pixiv.ugoira
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Download Pixiv's Ugoira animations or ignore them.
|
|
|
|
|
|
|
|
|
|
These animations come as a ``.zip`` file containing all the single
|
|
|
|
|
animation frames in JPEG format.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-07-04 19:34:34 +02:00
|
|
|
|
extractor.recursive.blacklist
|
|
|
|
|
-----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``list`` of ``strings``
|
|
|
|
|
Default ``["directlink", "oauth", "recursive", "test"]``
|
|
|
|
|
Description A list of extractor categories which should be ignored when using
|
|
|
|
|
the ``recursive`` extractor.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-06-18 22:16:26 +02:00
|
|
|
|
extractor.reddit.comments
|
|
|
|
|
-------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``integer`` or ``string``
|
2018-06-16 15:43:24 +02:00
|
|
|
|
Default ``500``
|
2017-06-18 22:16:26 +02:00
|
|
|
|
Description The value of the ``limit`` parameter when loading
|
|
|
|
|
a submission and its comments.
|
|
|
|
|
This number (roughly) specifies the total amount of comments
|
|
|
|
|
being retrieved with the first API call.
|
|
|
|
|
|
|
|
|
|
Reddit's internal default and maximum values for this parameter
|
|
|
|
|
appear to be 200 and 500 respectively.
|
|
|
|
|
|
2018-06-16 15:43:24 +02:00
|
|
|
|
The value `0` ignores all comments and significantly reduces the
|
|
|
|
|
time required when scanning a subreddit.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-06-23 16:14:51 +02:00
|
|
|
|
extractor.reddit.morecomments
|
2017-06-24 12:17:26 +02:00
|
|
|
|
-----------------------------
|
2017-06-23 16:14:51 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Retrieve additional comments by resolving the ``more`` comment
|
2017-06-27 17:44:02 +02:00
|
|
|
|
stubs in the base comment tree.
|
2017-06-23 16:14:51 +02:00
|
|
|
|
|
|
|
|
|
This requires 1 additional API call for every 100 extra comments.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
extractor.reddit.date-min & .date-max
|
|
|
|
|
-------------------------------------
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
2017-07-04 19:34:34 +02:00
|
|
|
|
Type ``integer`` or ``string``
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Default ``0`` and ``253402210800`` (timestamp of |datetime.max|_)
|
|
|
|
|
Description Ignore all submissions posted before/after this date.
|
2017-07-04 19:34:34 +02:00
|
|
|
|
|
|
|
|
|
* If this is an ``integer``, it represents the date as UTC timestamp.
|
|
|
|
|
* If this is a ``string``, it will get parsed according to date-format_.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-07-04 19:34:34 +02:00
|
|
|
|
extractor.reddit.date-format
|
|
|
|
|
----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"%Y-%m-%dT%H:%M:%S"``
|
|
|
|
|
Description An explicit format string used to parse the ``string`` values of
|
2017-10-12 23:37:28 +02:00
|
|
|
|
`date-min and date-max`_.
|
2017-07-04 19:34:34 +02:00
|
|
|
|
|
|
|
|
|
See |strptime|_ for a list of formatting directives.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
extractor.reddit.id-min & .id-max
|
|
|
|
|
---------------------------------
|
2017-07-04 19:34:34 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Example ``"6kmzv2"``
|
2017-10-12 23:37:28 +02:00
|
|
|
|
Description Ignore all submissions posted before/after the submission with
|
|
|
|
|
this ID.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.reddit.recursion
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``integer``
|
|
|
|
|
Default ``0``
|
|
|
|
|
Description Reddit extractors can recursively visit other submissions
|
|
|
|
|
linked to in the initial set of submissions.
|
|
|
|
|
This value sets the maximum recursion depth.
|
|
|
|
|
|
|
|
|
|
Special values:
|
|
|
|
|
|
|
|
|
|
* ``0``: Recursion is disabled
|
|
|
|
|
* ``-1``: Infinite recursion (don't do this)
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.reddit.refresh-token
|
|
|
|
|
------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``null``
|
2017-12-18 00:12:08 +01:00
|
|
|
|
Description The ``refresh_token`` value you get from linking your
|
|
|
|
|
Reddit account to *gallery-dl*.
|
2017-06-23 16:14:51 +02:00
|
|
|
|
|
2017-12-18 00:12:08 +01:00
|
|
|
|
Using a ``refresh_token`` allows you to access private or otherwise
|
2017-06-23 16:14:51 +02:00
|
|
|
|
not publicly available subreddits, given that your account is
|
|
|
|
|
authorized to do so,
|
|
|
|
|
but requests to the reddit API are going to be rate limited
|
|
|
|
|
at 600 requests every 10 minutes/600 seconds.
|
2017-06-18 22:16:26 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-14 23:01:33 +02:00
|
|
|
|
extractor.sankaku.wait-min & .wait-max
|
|
|
|
|
--------------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``float``
|
2018-08-03 17:06:51 +02:00
|
|
|
|
Default ``3.0`` and ``6.0``
|
2017-10-14 23:01:33 +02:00
|
|
|
|
Description Minimum and maximum wait time in seconds between each image
|
|
|
|
|
|
|
|
|
|
Sankaku Channel responds with ``429 Too Many Requests`` if it
|
|
|
|
|
receives too many HTTP requests in a certain amount of time.
|
|
|
|
|
Waiting a few seconds between each request tries to prevent that.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-11-22 23:09:08 +01:00
|
|
|
|
extractor.tumblr.external
|
|
|
|
|
-------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Follow external URLs (e.g. from "Link" posts) and try to extract
|
|
|
|
|
images from them.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.tumblr.inline
|
|
|
|
|
-----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
2018-09-07 18:32:45 +02:00
|
|
|
|
Description Search posts for inline images and videos.
|
2017-11-22 23:09:08 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-01-05 13:00:25 +01:00
|
|
|
|
extractor.tumblr.reblogs
|
|
|
|
|
------------------------
|
|
|
|
|
=========== =====
|
2018-09-07 18:32:45 +02:00
|
|
|
|
Type ``bool`` or ``string``
|
2018-01-06 15:52:08 +01:00
|
|
|
|
Default ``true``
|
2018-09-07 18:32:45 +02:00
|
|
|
|
Description * ``true``: Extract media from reblogged posts
|
|
|
|
|
* ``false``: Skip reblogged posts
|
2018-09-10 15:40:25 +02:00
|
|
|
|
* ``"same-blog"``: Skip reblogged posts unless the original post
|
|
|
|
|
is from the same blog
|
2018-01-05 13:00:25 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-11-22 23:09:08 +01:00
|
|
|
|
extractor.tumblr.posts
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Type ``string`` or ``list`` of ``strings``
|
2017-11-22 23:09:08 +01:00
|
|
|
|
Default ``"photo"``
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Example ``"video,audio,link"`` or ``["video", "audio", "link"]``
|
|
|
|
|
Description A (comma-separated) list of post types to extract images, etc. from.
|
2017-11-22 23:09:08 +01:00
|
|
|
|
|
|
|
|
|
Possible types are ``text``, ``quote``, ``link``, ``answer``,
|
|
|
|
|
``video``, ``audio``, ``photo``, ``chat``.
|
|
|
|
|
|
|
|
|
|
You can use ``"all"`` instead of listing all types separately.
|
|
|
|
|
=========== =====
|
2018-06-29 19:38:53 +02:00
|
|
|
|
|
|
|
|
|
|
2018-08-17 20:04:11 +02:00
|
|
|
|
extractor.twitter.retweets
|
|
|
|
|
--------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Extract images from retweets.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-07-13 16:20:14 +02:00
|
|
|
|
extractor.[booru].tags
|
2018-06-29 19:38:53 +02:00
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
2018-07-01 22:28:52 +02:00
|
|
|
|
Description Categorize tags by their respective types
|
|
|
|
|
and provide them as ``tags_<type>`` metadata fields.
|
2018-06-29 19:38:53 +02:00
|
|
|
|
|
|
|
|
|
Note: This requires 1 additional HTTP request for each post.
|
|
|
|
|
=========== =====
|
2017-11-22 23:09:08 +01:00
|
|
|
|
|
|
|
|
|
|
2017-10-14 23:01:33 +02:00
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Downloader Options
|
|
|
|
|
==================
|
|
|
|
|
|
|
|
|
|
downloader.part
|
|
|
|
|
---------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Controls the use of ``.part`` files during file downloads.
|
|
|
|
|
|
|
|
|
|
* ``true``: Write downloaded data into ``.part`` files and rename
|
|
|
|
|
them upon download completion. This mode additionally supports
|
|
|
|
|
resuming incomplete downloads.
|
|
|
|
|
* ``false``: Do not use ``.part`` files and write data directly
|
|
|
|
|
into the actual output files.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
downloader.part-directory
|
|
|
|
|
-------------------------
|
|
|
|
|
=========== =====
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Type |Path|_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Default ``null``
|
|
|
|
|
Description Alternate location for ``.part`` files.
|
|
|
|
|
|
|
|
|
|
Missing directories will be created as needed.
|
|
|
|
|
If this value is ``null``, ``.part`` files are going to be stored
|
|
|
|
|
alongside the actual output files.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
downloader.http.rate
|
|
|
|
|
--------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``null``
|
|
|
|
|
Examples ``"32000"``, ``"500k"``, ``"2.5M"``
|
|
|
|
|
Description Maximum download rate in bytes per second.
|
|
|
|
|
|
|
|
|
|
Possible values are valid integer or floating-point numbers
|
|
|
|
|
optionally followed by one of ``k``, ``m``. ``g``, ``t`` or ``p``.
|
|
|
|
|
These suffixes are case-insensitive.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
downloader.http.retries
|
|
|
|
|
-----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``integer``
|
|
|
|
|
Default ``5``
|
|
|
|
|
Description Number of times a failed download is retried before giving up.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
downloader.http.timeout
|
|
|
|
|
-----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``float`` or ``null``
|
|
|
|
|
Default ``30``
|
|
|
|
|
Description Amount of time (in seconds) to wait for a successful connection
|
|
|
|
|
and response from a remote server.
|
|
|
|
|
|
|
|
|
|
This value gets internally used as the |timeout|_ parameter for the
|
|
|
|
|
|requests.request()|_ method during downloads.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
downloader.http.verify
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool`` or ``string``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Controls whether to verify SSL/TLS certificates for HTTPS requests.
|
|
|
|
|
|
|
|
|
|
If this is a ``string``, it must be the path to a CA bundle to use
|
|
|
|
|
instead of the default certificates.
|
|
|
|
|
|
|
|
|
|
This value gets internally used as the |verify|_ parameter for the
|
|
|
|
|
|requests.request()|_ method during downloads.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Output Options
|
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
output.mode
|
|
|
|
|
-----------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"auto"``
|
|
|
|
|
Description Controls the output string format and status indicators.
|
|
|
|
|
|
|
|
|
|
* ``"null"``: No output
|
|
|
|
|
* ``"pipe"``: Suitable for piping to other processes or files
|
|
|
|
|
* ``"terminal"``: Suitable for the standard Windows console
|
|
|
|
|
* ``"color"``: Suitable for terminals that understand ANSI escape codes and colors
|
|
|
|
|
* ``"auto"``: Automatically choose the best suitable output mode
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
output.shorten
|
|
|
|
|
--------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Controls whether the output strings should be shortened to fit
|
|
|
|
|
on one console line.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
output.progress
|
|
|
|
|
---------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool`` or ``string``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Controls the progress indicator when *gallery-dl* is run with
|
|
|
|
|
multiple URLs as arguments.
|
|
|
|
|
|
|
|
|
|
* ``true``: Show the default progress indicator
|
|
|
|
|
(``"[{current}/{total}] {url}"``)
|
|
|
|
|
* ``false``: Do not show any progress indicator
|
|
|
|
|
* Any ``string``: Show the progress indicator using this
|
|
|
|
|
as a custom `format string`_. Possible replacement keys are
|
|
|
|
|
``current``, ``total`` and ``url``.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-05-27 16:48:54 +02:00
|
|
|
|
output.log
|
|
|
|
|
----------
|
|
|
|
|
=========== =====
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Type ``string`` or |Logging Configuration|_
|
2018-05-27 17:08:22 +02:00
|
|
|
|
Default ``"[{name}][{levelname}] {message}"``
|
|
|
|
|
Description Configuration for standard logging output to stderr.
|
2018-05-27 16:48:54 +02:00
|
|
|
|
|
|
|
|
|
If this is a simple ``string``, it specifies
|
|
|
|
|
the format string for logging messages.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
output.logfile
|
|
|
|
|
--------------
|
|
|
|
|
=========== =====
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Type |Path|_ or |Logging Configuration|_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Default ``null``
|
|
|
|
|
Description File to write logging output to.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
output.unsupportedfile
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Type |Path|_ or |Logging Configuration|_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Default ``null``
|
|
|
|
|
Description File to write external URLs unsupported by *gallery-dl* to.
|
2018-05-27 17:08:22 +02:00
|
|
|
|
|
|
|
|
|
The default format string here is ``"{message}"``.
|
2018-03-16 11:49:49 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-16 15:43:24 +02:00
|
|
|
|
Postprocessor Options
|
|
|
|
|
=====================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classify
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Categorize files by filename extension
|
|
|
|
|
|
|
|
|
|
classify.mapping
|
|
|
|
|
----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``object``
|
|
|
|
|
Default .. code::
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"Pictures" : ["jpg", "jpeg", "png", "gif", "bmp", "svg", "webp"],
|
|
|
|
|
"Video" : ["flv", "ogv", "avi", "mp4", "mpg", "mpeg", "3gp", "mkv", "webm", "vob", "wmv"],
|
|
|
|
|
"Music" : ["mp3", "aac", "flac", "ogg", "wma", "m4a", "wav"],
|
|
|
|
|
"Archives" : ["zip", "rar", "7z", "tar", "gz", "bz2"]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Description A mapping from directory names to filename extensions that should
|
|
|
|
|
be stored in them.
|
|
|
|
|
|
|
|
|
|
Files with an extension not listed will be ignored and stored
|
|
|
|
|
in their default location.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exec
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
Execute external commands.
|
|
|
|
|
|
|
|
|
|
exec.async
|
|
|
|
|
----------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Controls whether to wait for a subprocess to finish
|
|
|
|
|
or to let it run asynchronously.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
exec.command
|
|
|
|
|
------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``list`` of ``strings``
|
|
|
|
|
Example ``["echo", "{user[account]}", "{id}"]``
|
|
|
|
|
Description The command to run.
|
|
|
|
|
|
|
|
|
|
Each element of this list is treated as a `format string`_ using
|
|
|
|
|
the files' metadata.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ugoira
|
|
|
|
|
------
|
|
|
|
|
|
2018-06-21 13:16:18 +02:00
|
|
|
|
Convert Pixiv Ugoira to WebM using `FFmpeg <https://www.ffmpeg.org/>`__.
|
2018-06-16 15:43:24 +02:00
|
|
|
|
|
|
|
|
|
ugoira.extension
|
|
|
|
|
----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"webm"``
|
|
|
|
|
Description Filename extension for the resulting video files.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
ugoira.ffmpeg-args
|
|
|
|
|
------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``list`` of ``strings``
|
|
|
|
|
Default ``null``
|
2018-06-21 13:16:18 +02:00
|
|
|
|
Example ``["-c:v", "libvpx-vp9", "-an", "-b:v", "2M"]``
|
2018-06-16 15:43:24 +02:00
|
|
|
|
Description Additional FFmpeg command-line arguments.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
ugoira.ffmpeg-location
|
|
|
|
|
----------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type |Path|_
|
|
|
|
|
Default ``"ffmpeg"``
|
|
|
|
|
Description Location of the ``ffmpeg`` (or ``avconv``) executable to use.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
2018-08-29 15:58:01 +02:00
|
|
|
|
|
|
|
|
|
ugoira.ffmpeg-output
|
|
|
|
|
--------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``true``
|
|
|
|
|
Description Show FFmpeg output.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
2018-06-20 18:48:10 +02:00
|
|
|
|
ugoira.ffmpeg-twopass
|
|
|
|
|
---------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
2018-08-29 15:58:01 +02:00
|
|
|
|
Default ``false``
|
2018-06-20 18:48:10 +02:00
|
|
|
|
Description Enable Two-Pass encoding.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
2018-07-20 22:06:48 +02:00
|
|
|
|
ugoira.framerate
|
|
|
|
|
----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"auto"``
|
|
|
|
|
Description Controls the frame rate argument (``-r``) for FFmpeg
|
|
|
|
|
|
|
|
|
|
- ``"auto"``: Automatically assign a fitting frame rate
|
|
|
|
|
based on delays between frames.
|
|
|
|
|
- any other ``string``: Use this value as argument for ``-r``.
|
|
|
|
|
- ``null`` or an empty ``string``: Don't set an explicit frame rate.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
2018-06-18 17:25:52 +02:00
|
|
|
|
ugoira.keep-files
|
|
|
|
|
-----------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
2018-06-21 13:16:18 +02:00
|
|
|
|
Description Keep ZIP archives after conversion.
|
2018-06-18 17:25:52 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
2018-06-16 15:43:24 +02:00
|
|
|
|
|
|
|
|
|
zip
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Store files in a ZIP archive.
|
|
|
|
|
|
|
|
|
|
zip.compression
|
|
|
|
|
---------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"store"``
|
|
|
|
|
Description Compression method to use when writing the archive.
|
|
|
|
|
|
|
|
|
|
Possible values are ``"store"``, ``"zip"``, ``"bzip2"``, ``"lzma"``.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
zip.extension
|
|
|
|
|
-------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
Default ``"zip"``
|
|
|
|
|
Description Filename extension for the created ZIP archive.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
zip.keep-files
|
|
|
|
|
--------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
2018-06-21 13:16:18 +02:00
|
|
|
|
Description Keep the actual files after writing them to a ZIP archive.
|
2018-06-16 15:43:24 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Miscellaneous Options
|
|
|
|
|
=====================
|
|
|
|
|
|
|
|
|
|
netrc
|
|
|
|
|
-----
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``bool``
|
|
|
|
|
Default ``false``
|
|
|
|
|
Description Enable the use of |.netrc|_ authentication data.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cache.file
|
|
|
|
|
----------
|
|
|
|
|
=========== =====
|
2018-05-27 16:48:54 +02:00
|
|
|
|
Type |Path|_
|
2018-03-16 11:49:49 +01:00
|
|
|
|
Default |tempfile.gettempdir()|_ + ``".gallery-dl.cache"``
|
|
|
|
|
Description Path of the SQLite3 database used to cache login sessions,
|
|
|
|
|
cookies and API tokens across `gallery-dl` invocations.
|
|
|
|
|
|
|
|
|
|
Set this option to ``null`` or an invalid path to disable
|
|
|
|
|
this cache.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-09 17:31:42 +02:00
|
|
|
|
API Tokens & IDs
|
|
|
|
|
================
|
|
|
|
|
|
2017-10-12 23:37:28 +02:00
|
|
|
|
All configuration keys listed in this section have fully functional default
|
|
|
|
|
values embedded into *gallery-dl* itself, but if things unexpectedly break
|
|
|
|
|
or you want to use your own personal client credentials, you can follow these
|
|
|
|
|
instructions to get an alternative set of API tokens and IDs.
|
|
|
|
|
|
2018-05-26 11:26:50 +02:00
|
|
|
|
|
2017-09-09 17:31:42 +02:00
|
|
|
|
extractor.deviantart.client-id & .client-secret
|
|
|
|
|
-----------------------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
2018-04-16 19:43:27 +02:00
|
|
|
|
How To - login and visit DeviantArt's
|
|
|
|
|
`Applications & Keys <https://www.deviantart.com/developers/apps>`__
|
|
|
|
|
section
|
2017-10-12 23:37:28 +02:00
|
|
|
|
- click "Register your Application"
|
2018-05-26 11:26:50 +02:00
|
|
|
|
- scroll to "OAuth2 Redirect URI Whitelist (Required)"
|
|
|
|
|
and enter "https://mikf.github.io/gallery-dl/oauth-redirect.html"
|
|
|
|
|
- click "Save" (top right)
|
|
|
|
|
- copy ``client_id`` and ``client_secret`` of your new
|
2017-10-12 23:37:28 +02:00
|
|
|
|
application and put them in your configuration file
|
2017-09-09 17:31:42 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.flickr.api-key & .api-secret
|
|
|
|
|
--------------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
2018-04-16 19:43:27 +02:00
|
|
|
|
How To - login and `Create an App <https://www.flickr.com/services/apps/create/apply/>`__
|
|
|
|
|
in Flickr's `App Garden <https://www.flickr.com/services/>`__
|
2017-10-12 23:37:28 +02:00
|
|
|
|
- click "APPLY FOR A NON-COMMERCIAL KEY"
|
|
|
|
|
- fill out the form with a random name and description
|
|
|
|
|
and click "SUBMIT"
|
|
|
|
|
- copy ``Key`` and ``Secret`` and put them in your configuration
|
|
|
|
|
file
|
2017-09-09 17:31:42 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.pawoo.access-token
|
|
|
|
|
----------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
2017-11-22 23:09:08 +01:00
|
|
|
|
How To
|
2017-09-09 17:31:42 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2017-10-10 17:29:46 +02:00
|
|
|
|
extractor.reddit.client-id & .user-agent
|
|
|
|
|
----------------------------------------
|
2017-09-09 17:31:42 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
2018-04-16 19:43:27 +02:00
|
|
|
|
How To - login and visit the `apps <https://www.reddit.com/prefs/apps/>`__
|
|
|
|
|
section of your account's preferences
|
2017-10-12 23:37:28 +02:00
|
|
|
|
- click the "are you a developer? create an app..." button
|
|
|
|
|
- fill out the form, choose "installed app", preferably set
|
|
|
|
|
"http://localhost:6414/" as "redirect uri" and finally click
|
|
|
|
|
"create app"
|
|
|
|
|
- copy the client id (third line, under your application's name and
|
|
|
|
|
"installed app") and put it in your configuration file
|
|
|
|
|
- use "``Python:<application name>:v1.0 (by /u/<username>)``" as
|
|
|
|
|
user-agent and replace ``<application name>`` and ``<username>``
|
2018-04-16 19:43:27 +02:00
|
|
|
|
accordingly (see Reddit's
|
|
|
|
|
`API access rules <https://github.com/reddit/reddit/wiki/API>`__)
|
2017-09-09 17:31:42 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-05-26 11:26:50 +02:00
|
|
|
|
extractor.smugmug.api-key & .api-secret
|
|
|
|
|
---------------------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
|
|
|
|
How To - login and `Apply for an API Key <https://api.smugmug.com/api/developer/apply>`__
|
|
|
|
|
- use a random name and description,
|
|
|
|
|
set "Type" to "Application", "Platform" to "All",
|
|
|
|
|
and "Use" to "Non-Commercial"
|
|
|
|
|
- fill out the two checkboxes at the bottom and click "Apply"
|
|
|
|
|
- copy ``API Key`` and ``API Secret``
|
|
|
|
|
and put them in your configuration file
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extractor.tumblr.api-key & .api-secret
|
|
|
|
|
--------------------------------------
|
2017-11-22 23:09:08 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string``
|
2018-04-16 19:43:27 +02:00
|
|
|
|
How To - login and visit Tumblr's
|
|
|
|
|
`Applications <https://www.tumblr.com/oauth/apps>`__ section
|
2017-11-22 23:09:08 +01:00
|
|
|
|
- click "Register application"
|
|
|
|
|
- fill out the form: use a random name and description, set
|
|
|
|
|
https://example.org/ as "Application Website" and "Default
|
|
|
|
|
callback URL"
|
|
|
|
|
- solve Google's "I'm not a robot" challenge and click "Register"
|
2018-05-26 11:26:50 +02:00
|
|
|
|
- click "Show secret key" (below "OAuth Consumer Key")
|
|
|
|
|
- copy your ``OAuth Consumer Key`` and ``Secret Key``
|
|
|
|
|
and put them in your configuration file
|
2017-11-22 23:09:08 +01:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
|
2018-05-27 16:48:54 +02:00
|
|
|
|
Custom Types
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Path
|
|
|
|
|
----
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``string`` or ``list`` of ``strings``
|
|
|
|
|
Examples * ``"file.ext"``
|
|
|
|
|
* ``"~/path/to/file.ext"``
|
|
|
|
|
* ``"$HOME/path/to/file.ext"``
|
|
|
|
|
* ``["$HOME", "path", "to", "file.ext"]``
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Description A |Path|_ is a ``string`` representing the location of a file
|
|
|
|
|
or directory.
|
2018-05-27 16:48:54 +02:00
|
|
|
|
|
|
|
|
|
Simple `tilde expansion <https://docs.python.org/3/library/os.path.html#os.path.expanduser>`__
|
|
|
|
|
and `environment variable expansion <https://docs.python.org/3/library/os.path.html#os.path.expandvars>`__
|
|
|
|
|
is supported.
|
|
|
|
|
|
|
|
|
|
In Windows environments, backslashes (``"\"``) can, in addition to
|
|
|
|
|
forward slashes (``"/"``), be used as path separators.
|
|
|
|
|
Because backslashes are JSON's escape character,
|
|
|
|
|
they themselves have to be escaped.
|
|
|
|
|
The path ``C:\path\to\file.ext`` has therefore to be written as
|
|
|
|
|
``"C:\\path\\to\\file.ext"`` if you want to use backslashes.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Logging Configuration
|
|
|
|
|
---------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``object``
|
|
|
|
|
|
2018-05-28 22:14:38 +02:00
|
|
|
|
Example .. code::
|
2018-05-27 16:48:54 +02:00
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"format": "{asctime} {name}: {message}",
|
|
|
|
|
"format-date": "%H:%M:%S",
|
|
|
|
|
"path": "~/log.txt",
|
|
|
|
|
"encoding": "ascii"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Description Extended logging output configuration.
|
|
|
|
|
|
|
|
|
|
* format
|
|
|
|
|
* Format string for logging messages
|
|
|
|
|
(see `LogRecord attributes <https://docs.python.org/3/library/logging.html#logrecord-attributes>`__)
|
|
|
|
|
* Default: ``"[{name}][{levelname}] {message}"``
|
|
|
|
|
* format-date
|
2018-05-28 22:14:38 +02:00
|
|
|
|
* Format string for ``{asctime}`` fields in logging messages
|
2018-05-27 16:48:54 +02:00
|
|
|
|
(see `strftime() directives <https://docs.python.org/3/library/time.html#time.strftime>`__)
|
|
|
|
|
* Default: ``"%Y-%m-%d %H:%M:%S"``
|
|
|
|
|
* level
|
|
|
|
|
* Minimum logging message level
|
|
|
|
|
(one of ``"debug"``, ``"info"``, ``"warning"``, ``"error"``, ``"exception"``)
|
|
|
|
|
* Default: ``"info"``
|
|
|
|
|
* path
|
|
|
|
|
* |Path|_ to the output file
|
|
|
|
|
* mode
|
|
|
|
|
* Mode in which the file is opened;
|
|
|
|
|
use ``"w"`` to truncate or ``"a"`` to append
|
|
|
|
|
(see `open() <https://docs.python.org/3/library/functions.html#open>`__)
|
|
|
|
|
* Default: ``"w"``
|
|
|
|
|
* encoding
|
|
|
|
|
* File encoding
|
|
|
|
|
* Default: ``"utf-8"``
|
2018-05-28 22:14:38 +02:00
|
|
|
|
|
|
|
|
|
Note: path, mode and encoding are only applied when configuring
|
|
|
|
|
logging output to a file.
|
2018-05-27 16:48:54 +02:00
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-06-16 15:43:24 +02:00
|
|
|
|
Postprocessor Configuration
|
|
|
|
|
---------------------------
|
|
|
|
|
=========== =====
|
|
|
|
|
Type ``object``
|
|
|
|
|
|
|
|
|
|
Example .. code::
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"name": "zip",
|
|
|
|
|
"compression": "store",
|
|
|
|
|
"extension": "cbz"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Description An object with the ``name`` of the post-processor to use
|
|
|
|
|
and its options.
|
|
|
|
|
See `Postprocessor Options`_ for a list of available
|
|
|
|
|
post-processors and their respective options.
|
|
|
|
|
=========== =====
|
|
|
|
|
|
|
|
|
|
|
2018-05-27 16:48:54 +02:00
|
|
|
|
|
2017-06-24 12:17:26 +02:00
|
|
|
|
.. |.netrc| replace:: ``.netrc``
|
2017-06-23 16:14:51 +02:00
|
|
|
|
.. |tempfile.gettempdir()| replace:: ``tempfile.gettempdir()``
|
2017-08-31 15:21:08 +02:00
|
|
|
|
.. |requests.request()| replace:: ``requests.request()``
|
|
|
|
|
.. |timeout| replace:: ``timeout``
|
|
|
|
|
.. |verify| replace:: ``verify``
|
2017-06-23 16:14:51 +02:00
|
|
|
|
.. |mature_content| replace:: ``mature_content``
|
|
|
|
|
.. |webbrowser.open()| replace:: ``webbrowser.open()``
|
2017-07-04 19:34:34 +02:00
|
|
|
|
.. |datetime.max| replace:: ``datetime.max``
|
2018-05-27 16:48:54 +02:00
|
|
|
|
.. |Path| replace:: ``Path``
|
|
|
|
|
.. |Logging Configuration| replace:: ``Logging Configuration``
|
2018-06-16 15:43:24 +02:00
|
|
|
|
.. |Postprocessor Configuration| replace:: ``Postprocessor Configuration``
|
2017-07-04 19:34:34 +02:00
|
|
|
|
.. |strptime| replace:: strftime() and strptime() Behavior
|
|
|
|
|
|
2018-03-16 11:49:49 +01:00
|
|
|
|
.. _base-directory: `extractor.*.base-directory`_
|
2018-02-01 22:00:44 +01:00
|
|
|
|
.. _skipped: `extractor.*.skip`_
|
2017-10-12 23:37:28 +02:00
|
|
|
|
.. _`date-min and date-max`: `extractor.reddit.date-min & .date-max`_
|
2017-07-04 19:34:34 +02:00
|
|
|
|
.. _date-format: extractor.reddit.date-format_
|
2017-06-23 16:14:51 +02:00
|
|
|
|
|
2017-06-24 12:17:26 +02:00
|
|
|
|
.. _.netrc: https://stackoverflow.com/tags/.netrc/info
|
2017-06-23 16:14:51 +02:00
|
|
|
|
.. _tempfile.gettempdir(): https://docs.python.org/3/library/tempfile.html#tempfile.gettempdir
|
2017-08-31 15:21:08 +02:00
|
|
|
|
.. _requests.request(): https://docs.python-requests.org/en/master/api/#requests.request
|
|
|
|
|
.. _timeout: https://docs.python-requests.org/en/latest/user/advanced/#timeouts
|
|
|
|
|
.. _verify: https://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification
|
2018-02-19 18:24:56 +01:00
|
|
|
|
.. _`Requests' proxy documentation`: http://docs.python-requests.org/en/master/user/advanced/#proxies
|
2017-06-20 16:20:28 +02:00
|
|
|
|
.. _format string: https://docs.python.org/3/library/string.html#formatstrings
|
|
|
|
|
.. _format strings: https://docs.python.org/3/library/string.html#formatstrings
|
2017-07-04 19:34:34 +02:00
|
|
|
|
.. _strptime: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
|
2017-06-23 16:14:51 +02:00
|
|
|
|
.. _mature_content: https://www.deviantart.com/developers/http/v1/20160316/object/deviation
|
2017-06-20 16:20:28 +02:00
|
|
|
|
.. _webbrowser.open(): https://docs.python.org/3/library/webbrowser.html
|
2017-07-04 19:34:34 +02:00
|
|
|
|
.. _datetime.max: https://docs.python.org/3/library/datetime.html#datetime.datetime.max
|
2017-06-20 16:20:28 +02:00
|
|
|
|
.. _Authentication: https://github.com/mikf/gallery-dl#5authentication
|