Sets a default request timeout of 300 seconds to fix Instaloader hanging indefinitely when used on an unstable internet connection without using --request-timeout, such as in #810.
With this change, Instaloader is capable of resuming a previously-aborted download loop. To do so, it creates a JSON file within the target directory when interrupted, that contains all the necessary information to later resume that operation.
Resuming an interrupted download is supported for most, but not all targets. It is supported for:
- Regular profile posts,
- IGTV posts
- Saved posts,
- Tagged posts,
- Explore posts.
Move InstaloaderContext's rate controlling logic into a class
RateController with fine-grained methods to enable easily changing
Instaloader's behavior regarding rate limits.
Such as for downloading hashtag feeds, as discussed in #666 and contributed by
@e2tovar.
Also change comment color to grey in codesnippets in documentation.
- Keep documentation in sync with master branch
- Run PyLint and MyPy on Github Actions
- Update Issue templates, enforce usage of issue templates, add links to
resources in Instaloader Documentation
- Update contributing.rst
The presence of a sessionfile avoids the usage of the failure-prone login
mechanism. This commit addresses a suggestion in #615 to store the sessionfile
in a persistent path rather than a path within a temporary directory if no
--sessionfile parameter is given.
The default path is now:
$XDG_CONFIG_HOME/instaloader/session-USERNAME or
~/.config/instaloader/session-USERNAME on Unix,
%LOCALAPPDATA%\Instaloader\session-USERNAME on Windows.
If no file exists in the new path, Instaloader tries loading from the path
where the sessionfile was stored before this commit, hence it automatically
migrates to the new sessionfile path.
Now we use an own, mobile-first, responsive sphinx theme based on Bootstrap 4.
It makes navigation on the very long "Python module instaloader" page a lot
easier. Also, it looks better.
This solves all the problems we had with sphinx-bootstrap-theme.
* Add %location search option
Search for posts for a given location ID using %[location id] as the query
* Document %location search
* Make pylint happy
* Use correct paths for location results
* Fix —help output
Add description of location argument and fix output error for short help.
* Add unit tests for location download
* Add extra unit test for locations
The commit mode ensures pictures are not corrupted when Instaloader is
unexpectedly interrupted. In the case that the last picture is corrupted
because of an interruption, Instaloader will redownload the picture.
Since the metadata is the last object saved to disk, we can consider a
post as "committed" if its json metadata file exists and is not
malformed. Instaloader should download any posts which are not
committed. Downside is commit mode requires metadata to be saved.
Squashed commit of the following (pr #161):
commit 58235a99b0
Author: AndCycle <andcycle@andcycle.idv.tw>
Date: Thu Aug 16 17:57:26 2018 +0800
doc: proper fix rst syntax
commit 6620e3583c
Author: AndCycle <andcycle@andcycle.idv.tw>
Date: Thu Aug 16 17:29:25 2018 +0800
doc: fix syntax
commit 7a048a3c04
Author: AndCycle <andcycle@andcycle.idv.tw>
Date: Thu Aug 16 17:09:26 2018 +0800
doc: add info about read args from file.
commit c4ceaf9636
Author: AndCycle <andcycle@andcycle.idv.tw>
Date: Thu Aug 16 17:05:07 2018 +0800
alter `fromfile_prefix_chars` to plus sign to avoid conflict.
commit d469b52b95
Author: AndCycle <andcycle@andcycle.idv.tw>
Date: Mon Aug 6 19:10:23 2018 +0800
* Allow reading arguments from file
function referenced from instagram-scraper,
which provide a convenient way to hide sensitive information.
This reverts commit 8423e3bd00. The channel did
not have as much activity as expected and an IRC channel does not work if there
are not at least a few people in it.
Presents code examples that use the instaloader module for more advanced tasks
than what is possible with the Instaloader command line interface.
Presents #46, #56, #110, #113, #120, #121.
Further, document all attributes that are referred to, and ensure that there
will be no broken references again by letting Travis call Sphinx with -W -n.
- Consistent background color in all types of codes
- Improve dd (list item) padding
- Link to Index in global TOC in navbar
- Briefly describe Instaloader in `index.html` title
- Remove page contents (navbartoc) in index, genindex and installation
- Link to new pypi.org rather than old pypi.python.org