Commit Graph

89 Commits

Author SHA1 Message Date
Mike Fährmann
844502cad5 update extractor test results 2020-10-03 19:24:19 +02:00
Mike Fährmann
430b6d6e2e [twitter] extend 'retweets' option (closes #1026)
Setting 'retweets' to '"original"' will use metadata from the
original retweeted Tweets, and not from the Retweet entry.
2020-09-28 23:03:35 +02:00
Mike Fährmann
aeb0d32333 [twitter] improve twitpic extraction (fixes #1019)
- ignore twitpic.com/photos/… URLs
- ignore empty image URLs
2020-09-22 22:22:35 +02:00
Mike Fährmann
2b8d57f0ab [twitter] support '/intent/user?user_id=…' URLs (#980) 2020-09-08 23:17:50 +02:00
Mike Fährmann
a3b473bd2f [twitter] support specifying users by ID (#980)
by using 'id:…' as their screen name, i.e.
https://www.twitter.com/id:2976459548/media
instead of
https://twitter.com/supernaturepics/media

The user ID can, for example, be obtained from the output of
$ gallery-dl -j --range 1 https://twitter.com/<screen-name>
2020-09-08 22:56:52 +02:00
Mike Fährmann
8f64585ff2 [twitter] handle 429 responses without x-rate-limit-reset header 2020-07-23 22:38:17 +02:00
Mike Fährmann
2da71cb561 [twitter] raise proper exception if user doesn't exist (#891) 2020-07-16 15:00:31 +02:00
Leonardo Taccari
86e5a05e29 [twitter] add support for nitter.net URLs in pattern (#890)
Please note that URLs are only "translated", all requests are still
done always via the Twitter API.
2020-07-13 23:48:42 +02:00
Mike Fährmann
3855d0dd3c [twitter] add debug messages for all skipped Tweets (#867) 2020-07-11 00:41:50 +02:00
Mike Fährmann
6e2af9a8d8 [twitter] improve error message formatting 2020-07-06 23:13:05 +02:00
Mike Fährmann
9da2bc67f8 [twitter] add option to filter media from quoted tweets (#854) 2020-06-25 18:59:25 +02:00
Mike Fährmann
56ab5fb8f4 [twitter] improve handling of quoted tweets (#854)
Split each "quote" into two parts:
- the original tweet
- the tweet that quoted the original
2020-06-24 21:14:18 +02:00
Mike Fährmann
a8c2d997e8 [twitter] treat quoted tweets like retweets (#833)
- filter them when 'retweets' is disabled
- set 'author' to the creator of the quoted tweet

like it was before the rewrite
2020-06-21 19:14:12 +02:00
Mike Fährmann
aed1c63e51 [twitter] improve search results (fixes #847)
Adding 'tweet_search_mode=live' to the query parameters
is the most important part here.
2020-06-21 15:53:20 +02:00
Mike Fährmann
d81a8e6544 [twitter] update tests 2020-06-19 23:01:02 +02:00
Mike Fährmann
d39eedd9bb [twitter] improve handling of deleted tweets (fixes #838) 2020-06-19 18:11:37 +02:00
Mike Fährmann
dc16f73965 [twitter] move '_guest_token()' into TwitterAPI class 2020-06-18 15:02:51 +02:00
Mike Fährmann
3561d1020a [twitter] always provide an 'author' field (#831, #833)
The idea was to have less metadata clutter for most Tweets were
'author' and 'user' are the same (non-retweets), and only provide
a 'user' field.

The original Tweet author could be gotten with
{author[…]|user[…]}, but basically no one knows about that.
2020-06-18 15:02:51 +02:00
Mike Fährmann
c37a1c06c8 [twitter] add extractor for liked tweets (closes #837)
You need to be logged in to get access to anyone's liked tweets,
it seems.
2020-06-16 14:27:22 +02:00
Mike Fährmann
b94394104c [twitter] don't download video previews (#833)
when 'videos' is set to False
2020-06-16 14:10:51 +02:00
Mike Fährmann
036a40943a [twitter] don't cache results of 'user_by_screen_name()'
A 'keyarg=1' argument to the memcache decorator would have worked as
well, but keeping the user object in memory isn't useful for the vast
majority of use cases and only wastes space.

(closes #817)
2020-06-10 20:58:42 +02:00
Mike Fährmann
4442dfe7b8 [twitter] add 'reply_to' metadata to replies 2020-06-09 21:48:04 +02:00
Mike Fährmann
d769bb4b80 [twitter] improve pagination 2020-06-07 15:23:45 +02:00
Mike Fährmann
5bc1097f9d [twitter] metadata cleanup #2
- remove useless clutter by creating new tweet-data dicts instead of
  reusing the original Tweet objects
- rename fields to how they were named before
  ('id_str' -> 'tweet_id', etc.)
- only include 'author' if it would differ from 'user'
- restore 'archive_fmt'
2020-06-07 02:25:29 +02:00
Mike Fährmann
3eed5f52d7 [twitter] small metadata cleanup
- add 'date' field
- remove 'entities' and 'extended_entities'
- don't include 'focus_fields' from 'original_info'
2020-06-04 18:21:54 +02:00
Mike Fährmann
655c98cbef [twitter] skip unavailable tweets 2020-06-04 14:51:25 +02:00
Mike Fährmann
2132e5461a [twitter] restore TwitPic support 2020-06-04 01:22:34 +02:00
Mike Fährmann
bd0f21478a [twitter] login using the mobile nojs login page 2020-06-04 00:07:12 +02:00
Mike Fährmann
a10f31dde5 [twitter] rewrite; use new interface (#740, #806)
Everything except logging in with username & password and TwitPic
embeds should be working again.

Metadata per Tweet is massively different than before (mostly raw API
responses - might need some cleaning up) and the default 'archive_fmt'
changed.
2020-06-03 20:51:29 +02:00
Mike Fährmann
45baa13615 update extractor test results
- don't run Instagram tests on Travis anymore
- replace Twitter test because timeline was made private
- update Hiperdex domain to '.com' (again ...)
2020-05-28 02:18:06 +02:00
Mike Fährmann
9f638c2e01 [twitter] add 'replies' option (closes #705) 2020-04-29 23:20:06 +02:00
Mike Fährmann
d3b3b30107 update test results 2020-04-26 22:14:28 +02:00
Mike Fährmann
3eab07739f [twitter] ensure videos have a 'filename'
This usually gets set when invoking the 'ytdl' downloader, but when
that fails, the error message would use 'None' as filename.
2020-04-24 22:34:19 +02:00
Mike Fährmann
c4371a6970 [twitter] add 'reply' metadata field (#705) 2020-04-24 22:31:24 +02:00
Mike Fährmann
d02f7c1118 improve Extractor.wait()
- allow 'until' to be a datetime object
- do "time calculations" with UTC timestamps
- set a default 'reason'
2020-04-05 21:23:05 +02:00
Mike Fährmann
b607d0ad7f [twitter] fix typo in 'x-twitter-auth-type' header (#625) 2020-03-21 23:11:39 +01:00
Mike Fährmann
2d5703c493 [twitter] use a simpler data structure to store cookies in cache
Use a dict with name-value pairs instead of an entire
RequestsCookieJar object.
2020-03-12 22:02:12 +01:00
Mike Fährmann
32df8d06fe [twitter] add 'bookmark' extractor (closes #625) 2020-03-06 01:20:04 +01:00
Mike Fährmann
19ae6f3fc4 update test results
- twitter:

    Don't test the whole kwdict, only the actual content, since the
    keyword hash changes whenever that user changes his display name.

- khinsider:

    Download host changed
2020-02-22 03:25:32 +01:00
Mike Fährmann
74e684e828 [twitter] change default value for 'videos' to 'true'
Every other 'videos' option defaulted to 'true', except Twitter.
2020-02-14 01:03:42 +01:00
Mike Fährmann
facc5daa6d [twitter] force old login page layout (fixes #584, fixes #598) 2020-02-02 17:24:53 +01:00
Mike Fährmann
e0dd073ce0 [twitter] replace embedded tweet test
the old one was deleted
2020-01-31 12:51:55 +01:00
Mike Fährmann
25d5ec4ff3 [twitter] add option to extract TwitPic embeds (#579) 2020-01-18 21:31:29 +01:00
Alice
f498a9057f [twitter] Fix stop before real end (#573)
* [twitter] Fix stop before real end

Fix for https://github.com/mikf/gallery-dl/issues/544. Makes sure that it really reached the end by checking that both "min_position" is null and "has_more_items" is false before stopping.

* [twitter] Fix stop before real end (update)
2020-01-14 12:24:30 +01:00
Mike Fährmann
43ab9572b4 [twitter] handle API rate limits (#526) 2020-01-04 23:46:29 +01:00
Mike Fährmann
5532e9c158 [twitter] handle quoted tweets (#526)
… and categorize them as retweets
2020-01-04 21:26:55 +01:00
Mike Fährmann
896896a490 [twitter] fix URLs forwarded to youtube-dl (closes #540)
Since commit 3bba763 data["user"] is an entire dict object
and no longer just the user nickname …
2019-12-25 17:28:55 +01:00
Mike Fährmann
07dafad26d [twitter] attempt to fix infinite loops (#499)
(Hopefully this doesn't break anything else)
2019-12-03 22:55:29 +01:00
Mike Fährmann
3bba763ab9 [twitter] improve
- update metadata structure
  - combine all user… entries into their own dict
  - let 'user' always specify the Timeline owner
  - add 'author' entry that specifies the original Tweet author
- create directories per post (closes #491)
- fix username issues with /i/web/ URLs
2019-11-30 22:30:37 +01:00
Mike Fährmann
5513b66eb0 [vsco] fix user profile extraction 2019-11-12 23:36:48 +01:00