Pagination over popular listings (`date:...+order:popular") never
terminates, not even on the site itself, and at some point returns the
same results over and over again.
- simplify pagination
- add more metadata and slightly change its structure
- convert suitable values to int or list
- move keys from ["photo"] to the base level
- proper video support (#246)
- rename method and variable names to better fit with other extractors
Simplified universal serialization support in json.dump() can be achieved
by passing 'default=str', which was already the case in DataJob.run()
for -j/--dump-json, but not for the 'metadata' post-processor.
This commit introduces util.dump_json() that (more or less) unifies the
JSON output procedure of both --write-metadata and --dump-json.
(#251, #252)
Some timelines would cause an endless loop because 'has_more_items' is
always True, even if it would return the same list of tweets over and
over again.
* [instagram] Remove no longer always present `comments' field
`edge_media_to_comment' is no longer always present in the response
(also for the same media sometimes is present and sometimes is not present).
* [instagram] Add `date' metadata
Cloudflare now also checks the client's SSL/TLS cipher capabilities and
produces a 403: Forbidden response with CAPTCHA if they are insufficient.
This commit replaces the default cipher list in urllib3 < 1.25 with the
one from 1.25 (1), which doesn't cause problems as long as the client
platform actually supports these ciphers. On some platforms (tested with
Python 3.4 on Linux and Python 3.7 on an outdated Windows 7 VM) it is
necessary to install pyOpenSSL to get everything to work.
Explicitly setting a minimum/maximum version for urllib3 is also no
longer necessary and installing gallery-dl will therefore not pull a
incompatible urllib3 version (#229)
Fixes the "403: Forbidden" error on Artstation (#227)
(1) 0cedb3b0f1
This ensure snap build-time and run-time problems will be noticed more
promptly by the maintainers, like issue #229.
Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com>
Snapcraft now supports a special `core` base for modern snaps to target
on which has the same effect of using the Ubuntu 16.04 based `core` snap
in the past(it is special as the intended base snap to support Ubuntu
16.04 is rather the `core16` base snap, but it isn't ready yet).
This patch migrates the gallery-dl snap to `core` base, which allows the
user to avoid installing the additional `core18` base snap in order to
run it. It also drops the redundant stage-packages entries that was
collected by Snapcraft automatically in the first place.
Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com>
Wouldn't be necessary if pip would do proper version management.
As things are right now, pip ignores the urllib3 version requirements
from requests because gallery-dl is specifying its own.