[twitter] allow setting custom features per API endpoint
This commit is contained in:
@@ -1079,7 +1079,7 @@ class TwitterAPI():
|
|||||||
"responsive_web_graphql_timeline_navigation_enabled": True,
|
"responsive_web_graphql_timeline_navigation_enabled": True,
|
||||||
}
|
}
|
||||||
self.features_pagination = {
|
self.features_pagination = {
|
||||||
"graphql_timeline_v2_bookmark_timeline": False,
|
"blue_business_profile_image_shape_enabled": False,
|
||||||
"responsive_web_twitter_blue_verified_badge_is_enabled": True,
|
"responsive_web_twitter_blue_verified_badge_is_enabled": True,
|
||||||
"responsive_web_graphql_exclude_directive_enabled": True,
|
"responsive_web_graphql_exclude_directive_enabled": True,
|
||||||
"verified_phone_label_enabled": False,
|
"verified_phone_label_enabled": False,
|
||||||
@@ -1196,8 +1196,11 @@ class TwitterAPI():
|
|||||||
variables = {
|
variables = {
|
||||||
"count": 100,
|
"count": 100,
|
||||||
}
|
}
|
||||||
|
features = self.features_pagination.copy()
|
||||||
|
features["graphql_timeline_v2_bookmark_timeline"] = False
|
||||||
return self._pagination_tweets(
|
return self._pagination_tweets(
|
||||||
endpoint, variables, ("bookmark_timeline", "timeline"), False)
|
endpoint, variables, ("bookmark_timeline", "timeline"), False,
|
||||||
|
features=features)
|
||||||
|
|
||||||
def list_latest_tweets_timeline(self, list_id):
|
def list_latest_tweets_timeline(self, list_id):
|
||||||
endpoint = "/graphql/FDI9EiIp54KxEOWGiv3B4A/ListLatestTweetsTimeline"
|
endpoint = "/graphql/FDI9EiIp54KxEOWGiv3B4A/ListLatestTweetsTimeline"
|
||||||
@@ -1452,15 +1455,17 @@ class TwitterAPI():
|
|||||||
params["cursor"] = cursor
|
params["cursor"] = cursor
|
||||||
|
|
||||||
def _pagination_tweets(self, endpoint, variables,
|
def _pagination_tweets(self, endpoint, variables,
|
||||||
path=None, stop_tweets=True, features=True):
|
path=None, stop_tweets=True, features=None):
|
||||||
extr = self.extractor
|
extr = self.extractor
|
||||||
variables.update(self.variables)
|
variables.update(self.variables)
|
||||||
original_retweets = (extr.retweets == "original")
|
original_retweets = (extr.retweets == "original")
|
||||||
pinned_tweet = extr.pinned
|
pinned_tweet = extr.pinned
|
||||||
|
|
||||||
params = {"variables": None}
|
params = {"variables": None}
|
||||||
|
if features is None:
|
||||||
|
features = self.features_pagination
|
||||||
if features:
|
if features:
|
||||||
params["features"] = self._json_dumps(self.features_pagination)
|
params["features"] = self._json_dumps(features)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
params["variables"] = self._json_dumps(variables)
|
params["variables"] = self._json_dumps(variables)
|
||||||
|
|||||||
Reference in New Issue
Block a user