twitter-openapi-python-generated 0.0.15__py3-none-any.whl → 0.0.17__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- twitter_openapi_python_generated/__init__.py +22 -3
- twitter_openapi_python_generated/api/default_api.py +35 -16
- twitter_openapi_python_generated/api/other_api.py +9 -8
- twitter_openapi_python_generated/api/post_api.py +737 -115
- twitter_openapi_python_generated/api/tweet_api.py +99 -88
- twitter_openapi_python_generated/api/user_api.py +18 -16
- twitter_openapi_python_generated/api/user_list_api.py +45 -40
- twitter_openapi_python_generated/api/users_api.py +9 -8
- twitter_openapi_python_generated/api/v11_get_api.py +6 -6
- twitter_openapi_python_generated/api/v11_post_api.py +6 -6
- twitter_openapi_python_generated/api/v20_get_api.py +3 -3
- twitter_openapi_python_generated/api_client.py +59 -29
- twitter_openapi_python_generated/configuration.py +35 -17
- twitter_openapi_python_generated/models/__init__.py +21 -2
- twitter_openapi_python_generated/models/allow_download_status.py +88 -0
- twitter_openapi_python_generated/models/article_cover_media_color_info.py +3 -3
- twitter_openapi_python_generated/models/article_lifecycle_state.py +88 -0
- twitter_openapi_python_generated/models/article_metadata.py +88 -0
- twitter_openapi_python_generated/models/article_result.py +14 -2
- twitter_openapi_python_generated/models/birdwatch_pivot_footer.py +3 -3
- twitter_openapi_python_generated/models/birdwatch_pivot_subtitle.py +3 -3
- twitter_openapi_python_generated/models/community_data.py +6 -6
- twitter_openapi_python_generated/models/content_union.py +2 -2
- twitter_openapi_python_generated/models/cover_cta.py +3 -3
- twitter_openapi_python_generated/models/{extensions.py → create_bookmark_response.py} +12 -20
- twitter_openapi_python_generated/models/create_bookmark_response_data.py +88 -0
- twitter_openapi_python_generated/models/delete_bookmark_response.py +92 -0
- twitter_openapi_python_generated/models/delete_bookmark_response_data.py +88 -0
- twitter_openapi_python_generated/models/delete_retweet.py +3 -3
- twitter_openapi_python_generated/models/entities.py +9 -9
- twitter_openapi_python_generated/models/error.py +5 -5
- twitter_openapi_python_generated/models/error_extensions.py +2 -2
- twitter_openapi_python_generated/models/errors.py +3 -3
- twitter_openapi_python_generated/models/extended_entities.py +3 -3
- twitter_openapi_python_generated/models/get_bookmarks200_response.py +2 -2
- twitter_openapi_python_generated/models/get_favoriters200_response.py +2 -2
- twitter_openapi_python_generated/models/get_followers200_response.py +2 -2
- twitter_openapi_python_generated/models/get_home_latest_timeline200_response.py +2 -2
- twitter_openapi_python_generated/models/get_likes200_response.py +2 -2
- twitter_openapi_python_generated/models/get_list_latest_tweets_timeline200_response.py +2 -2
- twitter_openapi_python_generated/models/get_profile_spotlights_query200_response.py +2 -2
- twitter_openapi_python_generated/models/get_retweeters200_response.py +2 -2
- twitter_openapi_python_generated/models/get_search_timeline200_response.py +2 -2
- twitter_openapi_python_generated/models/get_tweet_detail200_response.py +2 -2
- twitter_openapi_python_generated/models/get_tweet_result_by_rest_id200_response.py +2 -2
- twitter_openapi_python_generated/models/get_user_by_rest_id200_response.py +2 -2
- twitter_openapi_python_generated/models/get_user_highlights_tweets200_response.py +2 -2
- twitter_openapi_python_generated/models/get_users_by_rest_ids200_response.py +2 -2
- twitter_openapi_python_generated/models/highlight.py +3 -3
- twitter_openapi_python_generated/models/instruction_union.py +2 -2
- twitter_openapi_python_generated/models/item_content_union.py +2 -2
- twitter_openapi_python_generated/models/media.py +25 -5
- twitter_openapi_python_generated/models/media_extended.py +13 -1
- twitter_openapi_python_generated/models/media_original_info.py +3 -3
- twitter_openapi_python_generated/models/media_result.py +88 -0
- twitter_openapi_python_generated/models/{error_response.py → media_results.py} +11 -11
- twitter_openapi_python_generated/models/media_video_info.py +3 -3
- twitter_openapi_python_generated/models/media_visibility_results.py +92 -0
- twitter_openapi_python_generated/models/media_visibility_results_blurred_image_interstitial.py +99 -0
- twitter_openapi_python_generated/models/note_tweet_result_media.py +3 -3
- twitter_openapi_python_generated/models/note_tweet_result_rich_text.py +3 -3
- twitter_openapi_python_generated/models/other200_response.py +2 -2
- twitter_openapi_python_generated/models/post_create_bookmark200_response.py +138 -0
- twitter_openapi_python_generated/models/post_create_bookmark_request.py +94 -0
- twitter_openapi_python_generated/models/post_create_bookmark_request_variables.py +88 -0
- twitter_openapi_python_generated/models/post_create_retweet200_response.py +2 -2
- twitter_openapi_python_generated/models/post_create_tweet200_response.py +2 -2
- twitter_openapi_python_generated/models/post_create_tweet_request.py +1 -1
- twitter_openapi_python_generated/models/post_create_tweet_request_features.py +9 -5
- twitter_openapi_python_generated/models/post_create_tweet_request_variables.py +3 -1
- twitter_openapi_python_generated/models/post_create_tweet_request_variables_media.py +3 -3
- twitter_openapi_python_generated/models/post_delete_bookmark200_response.py +138 -0
- twitter_openapi_python_generated/models/post_delete_bookmark_request.py +94 -0
- twitter_openapi_python_generated/models/post_delete_retweet200_response.py +2 -2
- twitter_openapi_python_generated/models/post_delete_tweet200_response.py +2 -2
- twitter_openapi_python_generated/models/post_favorite_tweet200_response.py +2 -2
- twitter_openapi_python_generated/models/post_favorite_tweet_request.py +3 -3
- twitter_openapi_python_generated/models/post_unfavorite_tweet200_response.py +2 -2
- twitter_openapi_python_generated/models/sensitive_media_warning.py +3 -3
- twitter_openapi_python_generated/models/social_context_union.py +2 -2
- twitter_openapi_python_generated/models/text.py +3 -3
- twitter_openapi_python_generated/models/timeline.py +3 -3
- twitter_openapi_python_generated/models/timeline_add_entries.py +3 -3
- twitter_openapi_python_generated/models/timeline_add_to_module.py +3 -3
- twitter_openapi_python_generated/models/timeline_cover_behavior.py +11 -5
- twitter_openapi_python_generated/models/timeline_cover_behavior_url.py +97 -0
- twitter_openapi_python_generated/models/timeline_half_cover.py +3 -3
- twitter_openapi_python_generated/models/timeline_show_alert.py +3 -3
- twitter_openapi_python_generated/models/timeline_timeline_cursor.py +2 -2
- twitter_openapi_python_generated/models/timeline_timeline_module.py +3 -3
- twitter_openapi_python_generated/models/timeline_v2.py +2 -2
- twitter_openapi_python_generated/models/tweet.py +9 -3
- twitter_openapi_python_generated/models/tweet_card_legacy.py +6 -6
- twitter_openapi_python_generated/models/tweet_interstitial_reveal_text.py +3 -3
- twitter_openapi_python_generated/models/tweet_interstitial_text.py +3 -3
- twitter_openapi_python_generated/models/tweet_legacy.py +4 -4
- twitter_openapi_python_generated/models/tweet_unavailable.py +91 -0
- twitter_openapi_python_generated/models/tweet_union.py +28 -9
- twitter_openapi_python_generated/models/tweet_with_visibility_results.py +7 -1
- twitter_openapi_python_generated/models/url.py +2 -2
- twitter_openapi_python_generated/models/urt_endpoint_options.py +3 -3
- twitter_openapi_python_generated/models/user.py +26 -10
- twitter_openapi_python_generated/models/user_legacy.py +31 -31
- twitter_openapi_python_generated/models/user_legacy_extended_profile.py +92 -0
- twitter_openapi_python_generated/models/user_legacy_extended_profile_birthdate.py +110 -0
- twitter_openapi_python_generated/models/user_professional.py +3 -3
- twitter_openapi_python_generated/models/user_tip_jar_settings.py +102 -0
- twitter_openapi_python_generated/models/user_union.py +2 -2
- twitter_openapi_python_generated/models/user_verification_info.py +1 -1
- twitter_openapi_python_generated/models/user_verification_info_reason_description.py +3 -3
- twitter_openapi_python_generated/models/users_response_data.py +3 -3
- twitter_openapi_python_generated/rest.py +2 -0
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/METADATA +5 -5
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/RECORD +118 -99
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/WHEEL +1 -1
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/LICENSE +0 -0
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/LICENSE.AGPL +0 -0
- {twitter_openapi_python_generated-0.0.15.dist-info → twitter_openapi_python_generated-0.0.17.dist-info}/top_level.txt +0 -0
|
@@ -33,6 +33,9 @@ class Configuration:
|
|
|
33
33
|
"""This class contains various settings of the API client.
|
|
34
34
|
|
|
35
35
|
:param host: Base url.
|
|
36
|
+
:param ignore_operation_servers
|
|
37
|
+
Boolean to ignore operation servers for the API client.
|
|
38
|
+
Config will use `host` as the base url regardless of the operation servers.
|
|
36
39
|
:param api_key: Dict to store API key(s).
|
|
37
40
|
Each entry in the dict specifies an API key.
|
|
38
41
|
The dict key is the name of the security scheme in the OAS specification.
|
|
@@ -55,6 +58,7 @@ class Configuration:
|
|
|
55
58
|
values before.
|
|
56
59
|
:param ssl_ca_cert: str - the path to a file of concatenated CA certificates
|
|
57
60
|
in PEM format.
|
|
61
|
+
:param retries: Number of retries for API requests.
|
|
58
62
|
|
|
59
63
|
:Example:
|
|
60
64
|
|
|
@@ -86,11 +90,15 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
86
90
|
access_token=None,
|
|
87
91
|
server_index=None, server_variables=None,
|
|
88
92
|
server_operation_index=None, server_operation_variables=None,
|
|
93
|
+
ignore_operation_servers=False,
|
|
89
94
|
ssl_ca_cert=None,
|
|
95
|
+
retries=None,
|
|
96
|
+
*,
|
|
97
|
+
debug: Optional[bool] = None
|
|
90
98
|
) -> None:
|
|
91
99
|
"""Constructor
|
|
92
100
|
"""
|
|
93
|
-
self._base_path = "https://
|
|
101
|
+
self._base_path = "https://x.com/i/api" if host is None else host
|
|
94
102
|
"""Default Base url
|
|
95
103
|
"""
|
|
96
104
|
self.server_index = 0 if server_index is None and host is None else server_index
|
|
@@ -101,6 +109,9 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
101
109
|
self.server_operation_variables = server_operation_variables or {}
|
|
102
110
|
"""Default server variables
|
|
103
111
|
"""
|
|
112
|
+
self.ignore_operation_servers = ignore_operation_servers
|
|
113
|
+
"""Ignore operation servers
|
|
114
|
+
"""
|
|
104
115
|
self.temp_folder_path = None
|
|
105
116
|
"""Temp file folder for downloading files
|
|
106
117
|
"""
|
|
@@ -144,7 +155,10 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
144
155
|
self.logger_file = None
|
|
145
156
|
"""Debug file location
|
|
146
157
|
"""
|
|
147
|
-
|
|
158
|
+
if debug is not None:
|
|
159
|
+
self.debug = debug
|
|
160
|
+
else:
|
|
161
|
+
self.__debug = False
|
|
148
162
|
"""Debug switch
|
|
149
163
|
"""
|
|
150
164
|
|
|
@@ -187,7 +201,7 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
187
201
|
self.safe_chars_for_path_param = ''
|
|
188
202
|
"""Safe chars for path_param
|
|
189
203
|
"""
|
|
190
|
-
self.retries =
|
|
204
|
+
self.retries = retries
|
|
191
205
|
"""Adding retries to override urllib3 default value 3
|
|
192
206
|
"""
|
|
193
207
|
# Enable client side validation
|
|
@@ -432,15 +446,6 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
432
446
|
'key': 'Authorization',
|
|
433
447
|
'value': 'Bearer ' + self.access_token
|
|
434
448
|
}
|
|
435
|
-
if 'CacheControl' in self.api_key:
|
|
436
|
-
auth['CacheControl'] = {
|
|
437
|
-
'type': 'api_key',
|
|
438
|
-
'in': 'header',
|
|
439
|
-
'key': 'Cache-Control',
|
|
440
|
-
'value': self.get_api_key_with_prefix(
|
|
441
|
-
'CacheControl',
|
|
442
|
-
),
|
|
443
|
-
}
|
|
444
449
|
if 'ClientLanguage' in self.api_key:
|
|
445
450
|
auth['ClientLanguage'] = {
|
|
446
451
|
'type': 'api_key',
|
|
@@ -486,13 +491,22 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
486
491
|
'GuestToken',
|
|
487
492
|
),
|
|
488
493
|
}
|
|
489
|
-
if '
|
|
490
|
-
auth['
|
|
494
|
+
if 'Priority' in self.api_key:
|
|
495
|
+
auth['Priority'] = {
|
|
491
496
|
'type': 'api_key',
|
|
492
497
|
'in': 'header',
|
|
493
|
-
'key': '
|
|
498
|
+
'key': 'Priority',
|
|
494
499
|
'value': self.get_api_key_with_prefix(
|
|
495
|
-
'
|
|
500
|
+
'Priority',
|
|
501
|
+
),
|
|
502
|
+
}
|
|
503
|
+
if 'Referer' in self.api_key:
|
|
504
|
+
auth['Referer'] = {
|
|
505
|
+
'type': 'api_key',
|
|
506
|
+
'in': 'header',
|
|
507
|
+
'key': 'Referer',
|
|
508
|
+
'value': self.get_api_key_with_prefix(
|
|
509
|
+
'Referer',
|
|
496
510
|
),
|
|
497
511
|
}
|
|
498
512
|
if 'SecChUa' in self.api_key:
|
|
@@ -569,7 +583,7 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
569
583
|
"OS: {env}\n"\
|
|
570
584
|
"Python Version: {pyversion}\n"\
|
|
571
585
|
"Version of the API: 0.0.1\n"\
|
|
572
|
-
"SDK Package Version: 0.0.
|
|
586
|
+
"SDK Package Version: 0.0.17".\
|
|
573
587
|
format(env=sys.platform, pyversion=sys.version)
|
|
574
588
|
|
|
575
589
|
def get_host_settings(self):
|
|
@@ -578,6 +592,10 @@ conf = twitter_openapi_python_generated.Configuration(
|
|
|
578
592
|
:return: An array of host settings
|
|
579
593
|
"""
|
|
580
594
|
return [
|
|
595
|
+
{
|
|
596
|
+
'url': "https://x.com/i/api",
|
|
597
|
+
'description': "No description provided",
|
|
598
|
+
},
|
|
581
599
|
{
|
|
582
600
|
'url': "https://twitter.com/i/api",
|
|
583
601
|
'description': "No description provided",
|
|
@@ -18,12 +18,15 @@
|
|
|
18
18
|
from twitter_openapi_python_generated.models.additional_media_info import AdditionalMediaInfo
|
|
19
19
|
from twitter_openapi_python_generated.models.additional_media_info_call_to_actions import AdditionalMediaInfoCallToActions
|
|
20
20
|
from twitter_openapi_python_generated.models.additional_media_info_call_to_actions_url import AdditionalMediaInfoCallToActionsUrl
|
|
21
|
+
from twitter_openapi_python_generated.models.allow_download_status import AllowDownloadStatus
|
|
21
22
|
from twitter_openapi_python_generated.models.article import Article
|
|
22
23
|
from twitter_openapi_python_generated.models.article_cover_media import ArticleCoverMedia
|
|
23
24
|
from twitter_openapi_python_generated.models.article_cover_media_color_info import ArticleCoverMediaColorInfo
|
|
24
25
|
from twitter_openapi_python_generated.models.article_cover_media_color_info_palette import ArticleCoverMediaColorInfoPalette
|
|
25
26
|
from twitter_openapi_python_generated.models.article_cover_media_color_info_palette_rgb import ArticleCoverMediaColorInfoPaletteRGB
|
|
26
27
|
from twitter_openapi_python_generated.models.article_cover_media_info import ArticleCoverMediaInfo
|
|
28
|
+
from twitter_openapi_python_generated.models.article_lifecycle_state import ArticleLifecycleState
|
|
29
|
+
from twitter_openapi_python_generated.models.article_metadata import ArticleMetadata
|
|
27
30
|
from twitter_openapi_python_generated.models.article_result import ArticleResult
|
|
28
31
|
from twitter_openapi_python_generated.models.article_results import ArticleResults
|
|
29
32
|
from twitter_openapi_python_generated.models.author_community_relationship import AuthorCommunityRelationship
|
|
@@ -56,6 +59,8 @@ from twitter_openapi_python_generated.models.content_entry_type import ContentEn
|
|
|
56
59
|
from twitter_openapi_python_generated.models.content_item_type import ContentItemType
|
|
57
60
|
from twitter_openapi_python_generated.models.content_union import ContentUnion
|
|
58
61
|
from twitter_openapi_python_generated.models.cover_cta import CoverCta
|
|
62
|
+
from twitter_openapi_python_generated.models.create_bookmark_response import CreateBookmarkResponse
|
|
63
|
+
from twitter_openapi_python_generated.models.create_bookmark_response_data import CreateBookmarkResponseData
|
|
59
64
|
from twitter_openapi_python_generated.models.create_retweet import CreateRetweet
|
|
60
65
|
from twitter_openapi_python_generated.models.create_retweet_response import CreateRetweetResponse
|
|
61
66
|
from twitter_openapi_python_generated.models.create_retweet_response_data import CreateRetweetResponseData
|
|
@@ -66,6 +71,8 @@ from twitter_openapi_python_generated.models.create_tweet_response_data import C
|
|
|
66
71
|
from twitter_openapi_python_generated.models.create_tweet_response_result import CreateTweetResponseResult
|
|
67
72
|
from twitter_openapi_python_generated.models.cta_client_event_info import CtaClientEventInfo
|
|
68
73
|
from twitter_openapi_python_generated.models.cursor_type import CursorType
|
|
74
|
+
from twitter_openapi_python_generated.models.delete_bookmark_response import DeleteBookmarkResponse
|
|
75
|
+
from twitter_openapi_python_generated.models.delete_bookmark_response_data import DeleteBookmarkResponseData
|
|
69
76
|
from twitter_openapi_python_generated.models.delete_retweet import DeleteRetweet
|
|
70
77
|
from twitter_openapi_python_generated.models.delete_retweet_response import DeleteRetweetResponse
|
|
71
78
|
from twitter_openapi_python_generated.models.delete_retweet_response_data import DeleteRetweetResponseData
|
|
@@ -78,11 +85,9 @@ from twitter_openapi_python_generated.models.display_type import DisplayType
|
|
|
78
85
|
from twitter_openapi_python_generated.models.entities import Entities
|
|
79
86
|
from twitter_openapi_python_generated.models.error import Error
|
|
80
87
|
from twitter_openapi_python_generated.models.error_extensions import ErrorExtensions
|
|
81
|
-
from twitter_openapi_python_generated.models.error_response import ErrorResponse
|
|
82
88
|
from twitter_openapi_python_generated.models.errors import Errors
|
|
83
89
|
from twitter_openapi_python_generated.models.ext_media_availability import ExtMediaAvailability
|
|
84
90
|
from twitter_openapi_python_generated.models.extended_entities import ExtendedEntities
|
|
85
|
-
from twitter_openapi_python_generated.models.extensions import Extensions
|
|
86
91
|
from twitter_openapi_python_generated.models.favorite_tweet import FavoriteTweet
|
|
87
92
|
from twitter_openapi_python_generated.models.favorite_tweet_response_data import FavoriteTweetResponseData
|
|
88
93
|
from twitter_openapi_python_generated.models.feedback_info import FeedbackInfo
|
|
@@ -121,11 +126,15 @@ from twitter_openapi_python_generated.models.media import Media
|
|
|
121
126
|
from twitter_openapi_python_generated.models.media_extended import MediaExtended
|
|
122
127
|
from twitter_openapi_python_generated.models.media_original_info import MediaOriginalInfo
|
|
123
128
|
from twitter_openapi_python_generated.models.media_original_info_focus_rect import MediaOriginalInfoFocusRect
|
|
129
|
+
from twitter_openapi_python_generated.models.media_result import MediaResult
|
|
130
|
+
from twitter_openapi_python_generated.models.media_results import MediaResults
|
|
124
131
|
from twitter_openapi_python_generated.models.media_size import MediaSize
|
|
125
132
|
from twitter_openapi_python_generated.models.media_sizes import MediaSizes
|
|
126
133
|
from twitter_openapi_python_generated.models.media_stats import MediaStats
|
|
127
134
|
from twitter_openapi_python_generated.models.media_video_info import MediaVideoInfo
|
|
128
135
|
from twitter_openapi_python_generated.models.media_video_info_variant import MediaVideoInfoVariant
|
|
136
|
+
from twitter_openapi_python_generated.models.media_visibility_results import MediaVisibilityResults
|
|
137
|
+
from twitter_openapi_python_generated.models.media_visibility_results_blurred_image_interstitial import MediaVisibilityResultsBlurredImageInterstitial
|
|
129
138
|
from twitter_openapi_python_generated.models.module_entry import ModuleEntry
|
|
130
139
|
from twitter_openapi_python_generated.models.module_item import ModuleItem
|
|
131
140
|
from twitter_openapi_python_generated.models.note_tweet import NoteTweet
|
|
@@ -138,6 +147,9 @@ from twitter_openapi_python_generated.models.note_tweet_result_rich_text_tag imp
|
|
|
138
147
|
from twitter_openapi_python_generated.models.one_factor_login_eligibility import OneFactorLoginEligibility
|
|
139
148
|
from twitter_openapi_python_generated.models.other200_response import Other200Response
|
|
140
149
|
from twitter_openapi_python_generated.models.other_response import OtherResponse
|
|
150
|
+
from twitter_openapi_python_generated.models.post_create_bookmark200_response import PostCreateBookmark200Response
|
|
151
|
+
from twitter_openapi_python_generated.models.post_create_bookmark_request import PostCreateBookmarkRequest
|
|
152
|
+
from twitter_openapi_python_generated.models.post_create_bookmark_request_variables import PostCreateBookmarkRequestVariables
|
|
141
153
|
from twitter_openapi_python_generated.models.post_create_retweet200_response import PostCreateRetweet200Response
|
|
142
154
|
from twitter_openapi_python_generated.models.post_create_retweet_request import PostCreateRetweetRequest
|
|
143
155
|
from twitter_openapi_python_generated.models.post_create_retweet_request_variables import PostCreateRetweetRequestVariables
|
|
@@ -148,6 +160,8 @@ from twitter_openapi_python_generated.models.post_create_tweet_request_variables
|
|
|
148
160
|
from twitter_openapi_python_generated.models.post_create_tweet_request_variables_media import PostCreateTweetRequestVariablesMedia
|
|
149
161
|
from twitter_openapi_python_generated.models.post_create_tweet_request_variables_media_media_entities_inner import PostCreateTweetRequestVariablesMediaMediaEntitiesInner
|
|
150
162
|
from twitter_openapi_python_generated.models.post_create_tweet_request_variables_reply import PostCreateTweetRequestVariablesReply
|
|
163
|
+
from twitter_openapi_python_generated.models.post_delete_bookmark200_response import PostDeleteBookmark200Response
|
|
164
|
+
from twitter_openapi_python_generated.models.post_delete_bookmark_request import PostDeleteBookmarkRequest
|
|
151
165
|
from twitter_openapi_python_generated.models.post_delete_retweet200_response import PostDeleteRetweet200Response
|
|
152
166
|
from twitter_openapi_python_generated.models.post_delete_retweet_request import PostDeleteRetweetRequest
|
|
153
167
|
from twitter_openapi_python_generated.models.post_delete_retweet_request_variables import PostDeleteRetweetRequestVariables
|
|
@@ -188,6 +202,7 @@ from twitter_openapi_python_generated.models.timeline_add_to_module import Timel
|
|
|
188
202
|
from twitter_openapi_python_generated.models.timeline_clear_cache import TimelineClearCache
|
|
189
203
|
from twitter_openapi_python_generated.models.timeline_community import TimelineCommunity
|
|
190
204
|
from twitter_openapi_python_generated.models.timeline_cover_behavior import TimelineCoverBehavior
|
|
205
|
+
from twitter_openapi_python_generated.models.timeline_cover_behavior_url import TimelineCoverBehaviorUrl
|
|
191
206
|
from twitter_openapi_python_generated.models.timeline_general_context import TimelineGeneralContext
|
|
192
207
|
from twitter_openapi_python_generated.models.timeline_half_cover import TimelineHalfCover
|
|
193
208
|
from twitter_openapi_python_generated.models.timeline_message_prompt import TimelineMessagePrompt
|
|
@@ -239,6 +254,7 @@ from twitter_openapi_python_generated.models.tweet_result_by_rest_id_response im
|
|
|
239
254
|
from twitter_openapi_python_generated.models.tweet_retweeters_response import TweetRetweetersResponse
|
|
240
255
|
from twitter_openapi_python_generated.models.tweet_retweeters_response_data import TweetRetweetersResponseData
|
|
241
256
|
from twitter_openapi_python_generated.models.tweet_tombstone import TweetTombstone
|
|
257
|
+
from twitter_openapi_python_generated.models.tweet_unavailable import TweetUnavailable
|
|
242
258
|
from twitter_openapi_python_generated.models.tweet_union import TweetUnion
|
|
243
259
|
from twitter_openapi_python_generated.models.tweet_view import TweetView
|
|
244
260
|
from twitter_openapi_python_generated.models.tweet_with_visibility_results import TweetWithVisibilityResults
|
|
@@ -258,6 +274,8 @@ from twitter_openapi_python_generated.models.user_highlights_tweets_result impor
|
|
|
258
274
|
from twitter_openapi_python_generated.models.user_highlights_tweets_timeline import UserHighlightsTweetsTimeline
|
|
259
275
|
from twitter_openapi_python_generated.models.user_highlights_tweets_user import UserHighlightsTweetsUser
|
|
260
276
|
from twitter_openapi_python_generated.models.user_legacy import UserLegacy
|
|
277
|
+
from twitter_openapi_python_generated.models.user_legacy_extended_profile import UserLegacyExtendedProfile
|
|
278
|
+
from twitter_openapi_python_generated.models.user_legacy_extended_profile_birthdate import UserLegacyExtendedProfileBirthdate
|
|
261
279
|
from twitter_openapi_python_generated.models.user_professional import UserProfessional
|
|
262
280
|
from twitter_openapi_python_generated.models.user_professional_category import UserProfessionalCategory
|
|
263
281
|
from twitter_openapi_python_generated.models.user_response import UserResponse
|
|
@@ -267,6 +285,7 @@ from twitter_openapi_python_generated.models.user_result_by_screen_name_legacy i
|
|
|
267
285
|
from twitter_openapi_python_generated.models.user_result_by_screen_name_result import UserResultByScreenNameResult
|
|
268
286
|
from twitter_openapi_python_generated.models.user_result_core import UserResultCore
|
|
269
287
|
from twitter_openapi_python_generated.models.user_results import UserResults
|
|
288
|
+
from twitter_openapi_python_generated.models.user_tip_jar_settings import UserTipJarSettings
|
|
270
289
|
from twitter_openapi_python_generated.models.user_tweets_data import UserTweetsData
|
|
271
290
|
from twitter_openapi_python_generated.models.user_tweets_response import UserTweetsResponse
|
|
272
291
|
from twitter_openapi_python_generated.models.user_tweets_result import UserTweetsResult
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Twitter OpenAPI
|
|
5
|
+
|
|
6
|
+
Twitter OpenAPI(Swagger) specification
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0.1
|
|
9
|
+
Contact: yuki@yuki0311.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, StrictBool
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class AllowDownloadStatus(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
AllowDownloadStatus
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
allow_download: Optional[StrictBool] = None
|
|
31
|
+
__properties: ClassVar[List[str]] = ["allow_download"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
+
"""Create an instance of AllowDownloadStatus from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
55
|
+
"""Return the dictionary representation of the model using alias.
|
|
56
|
+
|
|
57
|
+
This has the following differences from calling pydantic's
|
|
58
|
+
`self.model_dump(by_alias=True)`:
|
|
59
|
+
|
|
60
|
+
* `None` is only added to the output dict for nullable fields that
|
|
61
|
+
were set at model initialization. Other fields with value `None`
|
|
62
|
+
are ignored.
|
|
63
|
+
"""
|
|
64
|
+
excluded_fields: Set[str] = set([
|
|
65
|
+
])
|
|
66
|
+
|
|
67
|
+
_dict = self.model_dump(
|
|
68
|
+
by_alias=True,
|
|
69
|
+
exclude=excluded_fields,
|
|
70
|
+
exclude_none=True,
|
|
71
|
+
)
|
|
72
|
+
return _dict
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
76
|
+
"""Create an instance of AllowDownloadStatus from a dict"""
|
|
77
|
+
if obj is None:
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
if not isinstance(obj, dict):
|
|
81
|
+
return cls.model_validate(obj)
|
|
82
|
+
|
|
83
|
+
_obj = cls.model_validate({
|
|
84
|
+
"allow_download": obj.get("allow_download")
|
|
85
|
+
})
|
|
86
|
+
return _obj
|
|
87
|
+
|
|
88
|
+
|
|
@@ -73,9 +73,9 @@ class ArticleCoverMediaColorInfo(BaseModel):
|
|
|
73
73
|
# override the default output from pydantic by calling `to_dict()` of each item in palette (list)
|
|
74
74
|
_items = []
|
|
75
75
|
if self.palette:
|
|
76
|
-
for
|
|
77
|
-
if
|
|
78
|
-
_items.append(
|
|
76
|
+
for _item_palette in self.palette:
|
|
77
|
+
if _item_palette:
|
|
78
|
+
_items.append(_item_palette.to_dict())
|
|
79
79
|
_dict['palette'] = _items
|
|
80
80
|
return _dict
|
|
81
81
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Twitter OpenAPI
|
|
5
|
+
|
|
6
|
+
Twitter OpenAPI(Swagger) specification
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0.1
|
|
9
|
+
Contact: yuki@yuki0311.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, StrictInt
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ArticleLifecycleState(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ArticleLifecycleState
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
modified_at_secs: StrictInt
|
|
31
|
+
__properties: ClassVar[List[str]] = ["modified_at_secs"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
+
"""Create an instance of ArticleLifecycleState from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
55
|
+
"""Return the dictionary representation of the model using alias.
|
|
56
|
+
|
|
57
|
+
This has the following differences from calling pydantic's
|
|
58
|
+
`self.model_dump(by_alias=True)`:
|
|
59
|
+
|
|
60
|
+
* `None` is only added to the output dict for nullable fields that
|
|
61
|
+
were set at model initialization. Other fields with value `None`
|
|
62
|
+
are ignored.
|
|
63
|
+
"""
|
|
64
|
+
excluded_fields: Set[str] = set([
|
|
65
|
+
])
|
|
66
|
+
|
|
67
|
+
_dict = self.model_dump(
|
|
68
|
+
by_alias=True,
|
|
69
|
+
exclude=excluded_fields,
|
|
70
|
+
exclude_none=True,
|
|
71
|
+
)
|
|
72
|
+
return _dict
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
76
|
+
"""Create an instance of ArticleLifecycleState from a dict"""
|
|
77
|
+
if obj is None:
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
if not isinstance(obj, dict):
|
|
81
|
+
return cls.model_validate(obj)
|
|
82
|
+
|
|
83
|
+
_obj = cls.model_validate({
|
|
84
|
+
"modified_at_secs": obj.get("modified_at_secs")
|
|
85
|
+
})
|
|
86
|
+
return _obj
|
|
87
|
+
|
|
88
|
+
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Twitter OpenAPI
|
|
5
|
+
|
|
6
|
+
Twitter OpenAPI(Swagger) specification
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0.1
|
|
9
|
+
Contact: yuki@yuki0311.com
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, StrictInt
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ArticleMetadata(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ArticleMetadata
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
first_published_at_secs: StrictInt
|
|
31
|
+
__properties: ClassVar[List[str]] = ["first_published_at_secs"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
+
"""Create an instance of ArticleMetadata from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
55
|
+
"""Return the dictionary representation of the model using alias.
|
|
56
|
+
|
|
57
|
+
This has the following differences from calling pydantic's
|
|
58
|
+
`self.model_dump(by_alias=True)`:
|
|
59
|
+
|
|
60
|
+
* `None` is only added to the output dict for nullable fields that
|
|
61
|
+
were set at model initialization. Other fields with value `None`
|
|
62
|
+
are ignored.
|
|
63
|
+
"""
|
|
64
|
+
excluded_fields: Set[str] = set([
|
|
65
|
+
])
|
|
66
|
+
|
|
67
|
+
_dict = self.model_dump(
|
|
68
|
+
by_alias=True,
|
|
69
|
+
exclude=excluded_fields,
|
|
70
|
+
exclude_none=True,
|
|
71
|
+
)
|
|
72
|
+
return _dict
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
76
|
+
"""Create an instance of ArticleMetadata from a dict"""
|
|
77
|
+
if obj is None:
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
if not isinstance(obj, dict):
|
|
81
|
+
return cls.model_validate(obj)
|
|
82
|
+
|
|
83
|
+
_obj = cls.model_validate({
|
|
84
|
+
"first_published_at_secs": obj.get("first_published_at_secs")
|
|
85
|
+
})
|
|
86
|
+
return _obj
|
|
87
|
+
|
|
88
|
+
|
|
@@ -19,9 +19,11 @@ import re # noqa: F401
|
|
|
19
19
|
import json
|
|
20
20
|
|
|
21
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
22
|
-
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
23
|
from typing_extensions import Annotated
|
|
24
24
|
from twitter_openapi_python_generated.models.article_cover_media import ArticleCoverMedia
|
|
25
|
+
from twitter_openapi_python_generated.models.article_lifecycle_state import ArticleLifecycleState
|
|
26
|
+
from twitter_openapi_python_generated.models.article_metadata import ArticleMetadata
|
|
25
27
|
from typing import Optional, Set
|
|
26
28
|
from typing_extensions import Self
|
|
27
29
|
|
|
@@ -31,10 +33,12 @@ class ArticleResult(BaseModel):
|
|
|
31
33
|
""" # noqa: E501
|
|
32
34
|
cover_media: ArticleCoverMedia
|
|
33
35
|
id: StrictStr
|
|
36
|
+
lifecycle_state: Optional[ArticleLifecycleState] = None
|
|
37
|
+
metadata: ArticleMetadata
|
|
34
38
|
preview_text: StrictStr
|
|
35
39
|
rest_id: Annotated[str, Field(strict=True)]
|
|
36
40
|
title: StrictStr
|
|
37
|
-
__properties: ClassVar[List[str]] = ["cover_media", "id", "preview_text", "rest_id", "title"]
|
|
41
|
+
__properties: ClassVar[List[str]] = ["cover_media", "id", "lifecycle_state", "metadata", "preview_text", "rest_id", "title"]
|
|
38
42
|
|
|
39
43
|
@field_validator('rest_id')
|
|
40
44
|
def rest_id_validate_regular_expression(cls, value):
|
|
@@ -85,6 +89,12 @@ class ArticleResult(BaseModel):
|
|
|
85
89
|
# override the default output from pydantic by calling `to_dict()` of cover_media
|
|
86
90
|
if self.cover_media:
|
|
87
91
|
_dict['cover_media'] = self.cover_media.to_dict()
|
|
92
|
+
# override the default output from pydantic by calling `to_dict()` of lifecycle_state
|
|
93
|
+
if self.lifecycle_state:
|
|
94
|
+
_dict['lifecycle_state'] = self.lifecycle_state.to_dict()
|
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of metadata
|
|
96
|
+
if self.metadata:
|
|
97
|
+
_dict['metadata'] = self.metadata.to_dict()
|
|
88
98
|
return _dict
|
|
89
99
|
|
|
90
100
|
@classmethod
|
|
@@ -99,6 +109,8 @@ class ArticleResult(BaseModel):
|
|
|
99
109
|
_obj = cls.model_validate({
|
|
100
110
|
"cover_media": ArticleCoverMedia.from_dict(obj["cover_media"]) if obj.get("cover_media") is not None else None,
|
|
101
111
|
"id": obj.get("id"),
|
|
112
|
+
"lifecycle_state": ArticleLifecycleState.from_dict(obj["lifecycle_state"]) if obj.get("lifecycle_state") is not None else None,
|
|
113
|
+
"metadata": ArticleMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None,
|
|
102
114
|
"preview_text": obj.get("preview_text"),
|
|
103
115
|
"rest_id": obj.get("rest_id"),
|
|
104
116
|
"title": obj.get("title")
|
|
@@ -74,9 +74,9 @@ class BirdwatchPivotFooter(BaseModel):
|
|
|
74
74
|
# override the default output from pydantic by calling `to_dict()` of each item in entities (list)
|
|
75
75
|
_items = []
|
|
76
76
|
if self.entities:
|
|
77
|
-
for
|
|
78
|
-
if
|
|
79
|
-
_items.append(
|
|
77
|
+
for _item_entities in self.entities:
|
|
78
|
+
if _item_entities:
|
|
79
|
+
_items.append(_item_entities.to_dict())
|
|
80
80
|
_dict['entities'] = _items
|
|
81
81
|
return _dict
|
|
82
82
|
|
|
@@ -74,9 +74,9 @@ class BirdwatchPivotSubtitle(BaseModel):
|
|
|
74
74
|
# override the default output from pydantic by calling `to_dict()` of each item in entities (list)
|
|
75
75
|
_items = []
|
|
76
76
|
if self.entities:
|
|
77
|
-
for
|
|
78
|
-
if
|
|
79
|
-
_items.append(
|
|
77
|
+
for _item_entities in self.entities:
|
|
78
|
+
if _item_entities:
|
|
79
|
+
_items.append(_item_entities.to_dict())
|
|
80
80
|
_dict['entities'] = _items
|
|
81
81
|
return _dict
|
|
82
82
|
|
|
@@ -149,9 +149,9 @@ class CommunityData(BaseModel):
|
|
|
149
149
|
# override the default output from pydantic by calling `to_dict()` of each item in members_facepile_results (list)
|
|
150
150
|
_items = []
|
|
151
151
|
if self.members_facepile_results:
|
|
152
|
-
for
|
|
153
|
-
if
|
|
154
|
-
_items.append(
|
|
152
|
+
for _item_members_facepile_results in self.members_facepile_results:
|
|
153
|
+
if _item_members_facepile_results:
|
|
154
|
+
_items.append(_item_members_facepile_results.to_dict())
|
|
155
155
|
_dict['members_facepile_results'] = _items
|
|
156
156
|
# override the default output from pydantic by calling `to_dict()` of primary_community_topic
|
|
157
157
|
if self.primary_community_topic:
|
|
@@ -159,9 +159,9 @@ class CommunityData(BaseModel):
|
|
|
159
159
|
# override the default output from pydantic by calling `to_dict()` of each item in rules (list)
|
|
160
160
|
_items = []
|
|
161
161
|
if self.rules:
|
|
162
|
-
for
|
|
163
|
-
if
|
|
164
|
-
_items.append(
|
|
162
|
+
for _item_rules in self.rules:
|
|
163
|
+
if _item_rules:
|
|
164
|
+
_items.append(_item_rules.to_dict())
|
|
165
165
|
_dict['rules'] = _items
|
|
166
166
|
# override the default output from pydantic by calling `to_dict()` of urls
|
|
167
167
|
if self.urls:
|
|
@@ -22,7 +22,7 @@ from twitter_openapi_python_generated.models.timeline_timeline_cursor import Tim
|
|
|
22
22
|
from twitter_openapi_python_generated.models.timeline_timeline_item import TimelineTimelineItem
|
|
23
23
|
from twitter_openapi_python_generated.models.timeline_timeline_module import TimelineTimelineModule
|
|
24
24
|
from pydantic import StrictStr, Field
|
|
25
|
-
from typing import Union, List, Optional, Dict
|
|
25
|
+
from typing import Union, List, Set, Optional, Dict
|
|
26
26
|
from typing_extensions import Literal, Self
|
|
27
27
|
|
|
28
28
|
CONTENTUNION_ONE_OF_SCHEMAS = ["TimelineTimelineCursor", "TimelineTimelineItem", "TimelineTimelineModule"]
|
|
@@ -38,7 +38,7 @@ class ContentUnion(BaseModel):
|
|
|
38
38
|
# data type: TimelineTimelineCursor
|
|
39
39
|
oneof_schema_3_validator: Optional[TimelineTimelineCursor] = None
|
|
40
40
|
actual_instance: Optional[Union[TimelineTimelineCursor, TimelineTimelineItem, TimelineTimelineModule]] = None
|
|
41
|
-
one_of_schemas:
|
|
41
|
+
one_of_schemas: Set[str] = { "TimelineTimelineCursor", "TimelineTimelineItem", "TimelineTimelineModule" }
|
|
42
42
|
|
|
43
43
|
model_config = ConfigDict(
|
|
44
44
|
validate_assignment=True,
|
|
@@ -89,9 +89,9 @@ class CoverCta(BaseModel):
|
|
|
89
89
|
# override the default output from pydantic by calling `to_dict()` of each item in callbacks (list)
|
|
90
90
|
_items = []
|
|
91
91
|
if self.callbacks:
|
|
92
|
-
for
|
|
93
|
-
if
|
|
94
|
-
_items.append(
|
|
92
|
+
for _item_callbacks in self.callbacks:
|
|
93
|
+
if _item_callbacks:
|
|
94
|
+
_items.append(_item_callbacks.to_dict())
|
|
95
95
|
_dict['callbacks'] = _items
|
|
96
96
|
# override the default output from pydantic by calling `to_dict()` of client_event_info
|
|
97
97
|
if self.client_event_info:
|