twitter-openapi-typescript-generated 0.0.8 → 0.0.9
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.
- package/.openapi-generator/FILES +34 -0
- package/.openapi-generator/VERSION +1 -1
- package/README.md +2 -2
- package/dist/apis/DefaultApi.d.ts +3 -3
- package/dist/apis/DefaultApi.d.ts.map +1 -1
- package/dist/apis/DefaultApi.js +1 -1
- package/dist/apis/DefaultApi.js.map +1 -1
- package/dist/apis/OtherApi.d.ts +3 -3
- package/dist/apis/OtherApi.d.ts.map +1 -1
- package/dist/apis/OtherApi.js +1 -1
- package/dist/apis/OtherApi.js.map +1 -1
- package/dist/apis/PostApi.d.ts +13 -13
- package/dist/apis/PostApi.d.ts.map +1 -1
- package/dist/apis/PostApi.js +6 -6
- package/dist/apis/PostApi.js.map +1 -1
- package/dist/apis/TweetApi.d.ts +35 -21
- package/dist/apis/TweetApi.d.ts.map +1 -1
- package/dist/apis/TweetApi.js +99 -10
- package/dist/apis/TweetApi.js.map +1 -1
- package/dist/apis/UserApi.d.ts +5 -18
- package/dist/apis/UserApi.d.ts.map +1 -1
- package/dist/apis/UserApi.js +2 -85
- package/dist/apis/UserApi.js.map +1 -1
- package/dist/apis/UserListApi.d.ts +23 -23
- package/dist/apis/UserListApi.d.ts.map +1 -1
- package/dist/apis/UserListApi.js +53 -53
- package/dist/apis/UserListApi.js.map +1 -1
- package/dist/apis/UsersApi.d.ts +32 -0
- package/dist/apis/UsersApi.d.ts.map +1 -0
- package/dist/apis/UsersApi.js +164 -0
- package/dist/apis/UsersApi.js.map +1 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.d.ts.map +1 -1
- package/dist/apis/index.js +1 -0
- package/dist/apis/index.js.map +1 -1
- package/dist/models/CursorType.d.ts +27 -0
- package/dist/models/CursorType.d.ts.map +1 -0
- package/dist/models/CursorType.js +40 -0
- package/dist/models/CursorType.js.map +1 -0
- package/dist/models/Entities.d.ts +12 -6
- package/dist/models/Entities.d.ts.map +1 -1
- package/dist/models/ErrorExtensions.d.ts +63 -0
- package/dist/models/ErrorExtensions.d.ts.map +1 -0
- package/dist/models/ErrorExtensions.js +67 -0
- package/dist/models/ErrorExtensions.js.map +1 -0
- package/dist/models/Errors.d.ts +32 -0
- package/dist/models/Errors.d.ts.map +1 -0
- package/dist/models/Errors.js +51 -0
- package/dist/models/Errors.js.map +1 -0
- package/dist/models/GetBookmarks200Response.d.ts +23 -0
- package/dist/models/GetBookmarks200Response.d.ts.map +1 -0
- package/dist/models/GetBookmarks200Response.js +57 -0
- package/dist/models/GetBookmarks200Response.js.map +1 -0
- package/dist/models/GetFavoriters200Response.d.ts +23 -0
- package/dist/models/GetFavoriters200Response.d.ts.map +1 -0
- package/dist/models/GetFavoriters200Response.js +57 -0
- package/dist/models/GetFavoriters200Response.js.map +1 -0
- package/dist/models/GetFollowers200Response.d.ts +23 -0
- package/dist/models/GetFollowers200Response.d.ts.map +1 -0
- package/dist/models/GetFollowers200Response.js +57 -0
- package/dist/models/GetFollowers200Response.js.map +1 -0
- package/dist/models/GetHomeLatestTimeline200Response.d.ts +23 -0
- package/dist/models/GetHomeLatestTimeline200Response.d.ts.map +1 -0
- package/dist/models/GetHomeLatestTimeline200Response.js +57 -0
- package/dist/models/GetHomeLatestTimeline200Response.js.map +1 -0
- package/dist/models/GetLikes200Response.d.ts +23 -0
- package/dist/models/GetLikes200Response.d.ts.map +1 -0
- package/dist/models/GetLikes200Response.js +57 -0
- package/dist/models/GetLikes200Response.js.map +1 -0
- package/dist/models/GetListLatestTweetsTimeline200Response.d.ts +23 -0
- package/dist/models/GetListLatestTweetsTimeline200Response.d.ts.map +1 -0
- package/dist/models/GetListLatestTweetsTimeline200Response.js +57 -0
- package/dist/models/GetListLatestTweetsTimeline200Response.js.map +1 -0
- package/dist/models/GetProfileSpotlightsQuery200Response.d.ts +23 -0
- package/dist/models/GetProfileSpotlightsQuery200Response.d.ts.map +1 -0
- package/dist/models/GetProfileSpotlightsQuery200Response.js +57 -0
- package/dist/models/GetProfileSpotlightsQuery200Response.js.map +1 -0
- package/dist/models/GetRetweeters200Response.d.ts +23 -0
- package/dist/models/GetRetweeters200Response.d.ts.map +1 -0
- package/dist/models/GetRetweeters200Response.js +57 -0
- package/dist/models/GetRetweeters200Response.js.map +1 -0
- package/dist/models/GetSearchTimeline200Response.d.ts +23 -0
- package/dist/models/GetSearchTimeline200Response.d.ts.map +1 -0
- package/dist/models/GetSearchTimeline200Response.js +57 -0
- package/dist/models/GetSearchTimeline200Response.js.map +1 -0
- package/dist/models/GetTweetDetail200Response.d.ts +23 -0
- package/dist/models/GetTweetDetail200Response.d.ts.map +1 -0
- package/dist/models/GetTweetDetail200Response.js +57 -0
- package/dist/models/GetTweetDetail200Response.js.map +1 -0
- package/dist/models/GetUserByRestId200Response.d.ts +23 -0
- package/dist/models/GetUserByRestId200Response.d.ts.map +1 -0
- package/dist/models/GetUserByRestId200Response.js +57 -0
- package/dist/models/GetUserByRestId200Response.js.map +1 -0
- package/dist/models/GetUserHighlightsTweets200Response.d.ts +23 -0
- package/dist/models/GetUserHighlightsTweets200Response.d.ts.map +1 -0
- package/dist/models/GetUserHighlightsTweets200Response.js +57 -0
- package/dist/models/GetUserHighlightsTweets200Response.js.map +1 -0
- package/dist/models/GetUsersByRestIds200Response.d.ts +23 -0
- package/dist/models/GetUsersByRestIds200Response.d.ts.map +1 -0
- package/dist/models/GetUsersByRestIds200Response.js +57 -0
- package/dist/models/GetUsersByRestIds200Response.js.map +1 -0
- package/dist/models/ItemContentUnion.d.ts +5 -5
- package/dist/models/ItemContentUnion.js +9 -9
- package/dist/models/ItemContentUnion.js.map +1 -1
- package/dist/models/Location.d.ts +38 -0
- package/dist/models/Location.d.ts.map +1 -0
- package/dist/models/Location.js +54 -0
- package/dist/models/Location.js.map +1 -0
- package/dist/models/Media.d.ts +8 -4
- package/dist/models/Media.d.ts.map +1 -1
- package/dist/models/MediaOriginalInfo.d.ts +4 -2
- package/dist/models/MediaOriginalInfo.d.ts.map +1 -1
- package/dist/models/ModelError.d.ts +89 -0
- package/dist/models/ModelError.d.ts.map +1 -0
- package/dist/models/ModelError.js +81 -0
- package/dist/models/ModelError.js.map +1 -0
- package/dist/models/ModuleEntry.d.ts +4 -2
- package/dist/models/ModuleEntry.d.ts.map +1 -1
- package/dist/models/Other200Response.d.ts +22 -0
- package/dist/models/Other200Response.d.ts.map +1 -0
- package/dist/models/Other200Response.js +53 -0
- package/dist/models/Other200Response.js.map +1 -0
- package/dist/models/PostCreateRetweet200Response.d.ts +23 -0
- package/dist/models/PostCreateRetweet200Response.d.ts.map +1 -0
- package/dist/models/PostCreateRetweet200Response.js +57 -0
- package/dist/models/PostCreateRetweet200Response.js.map +1 -0
- package/dist/models/PostCreateTweet200Response.d.ts +23 -0
- package/dist/models/PostCreateTweet200Response.d.ts.map +1 -0
- package/dist/models/PostCreateTweet200Response.js +57 -0
- package/dist/models/PostCreateTweet200Response.js.map +1 -0
- package/dist/models/PostDeleteRetweet200Response.d.ts +23 -0
- package/dist/models/PostDeleteRetweet200Response.d.ts.map +1 -0
- package/dist/models/PostDeleteRetweet200Response.js +57 -0
- package/dist/models/PostDeleteRetweet200Response.js.map +1 -0
- package/dist/models/PostDeleteTweet200Response.d.ts +23 -0
- package/dist/models/PostDeleteTweet200Response.d.ts.map +1 -0
- package/dist/models/PostDeleteTweet200Response.js +57 -0
- package/dist/models/PostDeleteTweet200Response.js.map +1 -0
- package/dist/models/PostFavoriteTweet200Response.d.ts +23 -0
- package/dist/models/PostFavoriteTweet200Response.d.ts.map +1 -0
- package/dist/models/PostFavoriteTweet200Response.js +57 -0
- package/dist/models/PostFavoriteTweet200Response.js.map +1 -0
- package/dist/models/PostUnfavoriteTweet200Response.d.ts +23 -0
- package/dist/models/PostUnfavoriteTweet200Response.d.ts.map +1 -0
- package/dist/models/PostUnfavoriteTweet200Response.js +57 -0
- package/dist/models/PostUnfavoriteTweet200Response.js.map +1 -0
- package/dist/models/Timeline.d.ts +8 -4
- package/dist/models/Timeline.d.ts.map +1 -1
- package/dist/models/TimelineMessagePrompt.d.ts +1 -0
- package/dist/models/TimelineMessagePrompt.d.ts.map +1 -1
- package/dist/models/TimelineMessagePrompt.js +13 -6
- package/dist/models/TimelineMessagePrompt.js.map +1 -1
- package/dist/models/TimelinePrompt.d.ts +1 -0
- package/dist/models/TimelinePrompt.d.ts.map +1 -1
- package/dist/models/TimelinePrompt.js +13 -6
- package/dist/models/TimelinePrompt.js.map +1 -1
- package/dist/models/TimelineShowAlert.d.ts +8 -4
- package/dist/models/TimelineShowAlert.d.ts.map +1 -1
- package/dist/models/TimelineShowAlertRichText.d.ts +4 -2
- package/dist/models/TimelineShowAlertRichText.d.ts.map +1 -1
- package/dist/models/TimelineTimelineCursor.d.ts +3 -13
- package/dist/models/TimelineTimelineCursor.d.ts.map +1 -1
- package/dist/models/TimelineTimelineCursor.js +4 -13
- package/dist/models/TimelineTimelineCursor.js.map +1 -1
- package/dist/models/TimelineTimelineItem.d.ts +8 -4
- package/dist/models/TimelineTimelineItem.d.ts.map +1 -1
- package/dist/models/TimelineTimelineModule.d.ts +12 -6
- package/dist/models/TimelineTimelineModule.d.ts.map +1 -1
- package/dist/models/TimelineTweet.d.ts +4 -2
- package/dist/models/TimelineTweet.d.ts.map +1 -1
- package/dist/models/Tracing.d.ts +32 -0
- package/dist/models/Tracing.d.ts.map +1 -0
- package/dist/models/Tracing.js +51 -0
- package/dist/models/Tracing.js.map +1 -0
- package/dist/models/Tweet.d.ts +5 -3
- package/dist/models/Tweet.d.ts.map +1 -1
- package/dist/models/Tweet.js +1 -2
- package/dist/models/Tweet.js.map +1 -1
- package/dist/models/TweetTombstone.d.ts +1 -0
- package/dist/models/TweetTombstone.d.ts.map +1 -1
- package/dist/models/TweetTombstone.js +13 -6
- package/dist/models/TweetTombstone.js.map +1 -1
- package/dist/models/TypeName.d.ts +3 -0
- package/dist/models/TypeName.d.ts.map +1 -1
- package/dist/models/TypeName.js +4 -1
- package/dist/models/TypeName.js.map +1 -1
- package/dist/models/User.d.ts +8 -4
- package/dist/models/User.d.ts.map +1 -1
- package/dist/models/UserHighlightsTweetsData.d.ts +33 -0
- package/dist/models/UserHighlightsTweetsData.d.ts.map +1 -0
- package/dist/models/UserHighlightsTweetsData.js +52 -0
- package/dist/models/UserHighlightsTweetsData.js.map +1 -0
- package/dist/models/UserHighlightsTweetsResponse.d.ts +33 -0
- package/dist/models/UserHighlightsTweetsResponse.d.ts.map +1 -0
- package/dist/models/UserHighlightsTweetsResponse.js +52 -0
- package/dist/models/UserHighlightsTweetsResponse.js.map +1 -0
- package/dist/models/UserHighlightsTweetsResult.d.ts +40 -0
- package/dist/models/UserHighlightsTweetsResult.d.ts.map +1 -0
- package/dist/models/UserHighlightsTweetsResult.js +56 -0
- package/dist/models/UserHighlightsTweetsResult.js.map +1 -0
- package/dist/models/UserHighlightsTweetsTimeline.d.ts +33 -0
- package/dist/models/UserHighlightsTweetsTimeline.d.ts.map +1 -0
- package/dist/models/UserHighlightsTweetsTimeline.js +52 -0
- package/dist/models/UserHighlightsTweetsTimeline.js.map +1 -0
- package/dist/models/UserHighlightsTweetsUser.d.ts +33 -0
- package/dist/models/UserHighlightsTweetsUser.d.ts.map +1 -0
- package/dist/models/UserHighlightsTweetsUser.js +52 -0
- package/dist/models/UserHighlightsTweetsUser.js.map +1 -0
- package/dist/models/UserLegacy.d.ts +9 -7
- package/dist/models/UserLegacy.d.ts.map +1 -1
- package/dist/models/UserLegacy.js +5 -10
- package/dist/models/UserLegacy.js.map +1 -1
- package/dist/models/UserResultByScreenNameResult.d.ts +4 -2
- package/dist/models/UserResultByScreenNameResult.d.ts.map +1 -1
- package/dist/models/UserResults.d.ts +3 -3
- package/dist/models/UserResults.d.ts.map +1 -1
- package/dist/models/UserResults.js +3 -3
- package/dist/models/UserResults.js.map +1 -1
- package/dist/models/UserUnavailable.d.ts +39 -0
- package/dist/models/UserUnavailable.d.ts.map +1 -0
- package/dist/models/UserUnavailable.js +55 -0
- package/dist/models/UserUnavailable.js.map +1 -0
- package/dist/models/UserUnion.d.ts +27 -0
- package/dist/models/UserUnion.d.ts.map +1 -0
- package/dist/models/UserUnion.js +65 -0
- package/dist/models/UserUnion.js.map +1 -0
- package/dist/models/index.d.ts +33 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +33 -0
- package/dist/models/index.js.map +1 -1
- package/package.json +1 -1
- package/src/apis/DefaultApi.ts +6 -6
- package/src/apis/OtherApi.ts +6 -6
- package/src/apis/PostApi.ts +36 -36
- package/src/apis/TweetApi.ts +144 -48
- package/src/apis/UserApi.ts +9 -96
- package/src/apis/UserListApi.ts +70 -70
- package/src/apis/UsersApi.ts +114 -0
- package/src/apis/index.ts +1 -0
- package/src/models/CursorType.ts +41 -0
- package/src/models/Entities.ts +6 -6
- package/src/models/ErrorExtensions.ts +118 -0
- package/src/models/Errors.ts +66 -0
- package/src/models/GetBookmarks200Response.ts +65 -0
- package/src/models/GetFavoriters200Response.ts +65 -0
- package/src/models/GetFollowers200Response.ts +65 -0
- package/src/models/GetHomeLatestTimeline200Response.ts +65 -0
- package/src/models/GetLikes200Response.ts +65 -0
- package/src/models/GetListLatestTweetsTimeline200Response.ts +65 -0
- package/src/models/GetProfileSpotlightsQuery200Response.ts +65 -0
- package/src/models/GetRetweeters200Response.ts +65 -0
- package/src/models/GetSearchTimeline200Response.ts +65 -0
- package/src/models/GetTweetDetail200Response.ts +65 -0
- package/src/models/GetUserByRestId200Response.ts +65 -0
- package/src/models/GetUserHighlightsTweets200Response.ts +65 -0
- package/src/models/GetUsersByRestIds200Response.ts +65 -0
- package/src/models/ItemContentUnion.ts +10 -10
- package/src/models/Location.ts +75 -0
- package/src/models/Media.ts +4 -4
- package/src/models/MediaOriginalInfo.ts +2 -2
- package/src/models/ModelError.ts +166 -0
- package/src/models/ModuleEntry.ts +2 -2
- package/src/models/Other200Response.ts +55 -0
- package/src/models/PostCreateRetweet200Response.ts +65 -0
- package/src/models/PostCreateTweet200Response.ts +65 -0
- package/src/models/PostDeleteRetweet200Response.ts +65 -0
- package/src/models/PostDeleteTweet200Response.ts +65 -0
- package/src/models/PostFavoriteTweet200Response.ts +65 -0
- package/src/models/PostUnfavoriteTweet200Response.ts +65 -0
- package/src/models/Timeline.ts +4 -4
- package/src/models/TimelineMessagePrompt.ts +3 -0
- package/src/models/TimelinePrompt.ts +3 -0
- package/src/models/TimelineShowAlert.ts +4 -4
- package/src/models/TimelineShowAlertRichText.ts +2 -2
- package/src/models/TimelineTimelineCursor.ts +10 -18
- package/src/models/TimelineTimelineItem.ts +4 -4
- package/src/models/TimelineTimelineModule.ts +6 -6
- package/src/models/TimelineTweet.ts +2 -2
- package/src/models/Tracing.ts +66 -0
- package/src/models/Tweet.ts +4 -5
- package/src/models/TweetTombstone.ts +3 -0
- package/src/models/TypeName.ts +4 -1
- package/src/models/User.ts +4 -4
- package/src/models/UserHighlightsTweetsData.ts +73 -0
- package/src/models/UserHighlightsTweetsResponse.ts +73 -0
- package/src/models/UserHighlightsTweetsResult.ts +88 -0
- package/src/models/UserHighlightsTweetsTimeline.ts +73 -0
- package/src/models/UserHighlightsTweetsUser.ts +73 -0
- package/src/models/UserLegacy.ts +12 -17
- package/src/models/UserResultByScreenNameResult.ts +2 -2
- package/src/models/UserResults.ts +9 -9
- package/src/models/UserUnavailable.ts +82 -0
- package/src/models/UserUnion.ts +72 -0
- package/src/models/index.ts +33 -0
- package/tools/openapi-generator-config.yaml +1 -1
- package/twitter-openapi/.github/workflows/test-build.yaml +87 -0
- package/twitter-openapi/.github/workflows/test-python.yaml +100 -0
- package/twitter-openapi/.vscode/launch.json +25 -0
- package/twitter-openapi/.vscode/settings.json +1 -1
- package/twitter-openapi/.vscode/tasks.json +45 -0
- package/twitter-openapi/CONTRIBUTING.md +13 -0
- package/twitter-openapi/README.md +2 -2
- package/twitter-openapi/dist/compatible/openapi-3.0.yaml +7 -3
- package/twitter-openapi/dist/compatible/paths/bookmarks.yaml +3 -1
- package/twitter-openapi/dist/compatible/paths/follow.yaml +9 -3
- package/twitter-openapi/dist/compatible/paths/other.yaml +2 -1
- package/twitter-openapi/dist/compatible/paths/post.yaml +18 -6
- package/twitter-openapi/dist/compatible/paths/profile.yaml +5 -2
- package/twitter-openapi/dist/compatible/paths/timeline.yaml +12 -4
- package/twitter-openapi/dist/compatible/paths/tweet.yaml +11 -5
- package/twitter-openapi/dist/compatible/paths/user.yaml +10 -4
- package/twitter-openapi/dist/compatible/paths/usertweets.yaml +140 -4
- package/twitter-openapi/dist/compatible/schemas/content.yaml +21 -15
- package/twitter-openapi/dist/compatible/schemas/error.yaml +94 -0
- package/twitter-openapi/dist/compatible/schemas/instruction.yaml +4 -8
- package/twitter-openapi/dist/compatible/schemas/timeline.yaml +2 -0
- package/twitter-openapi/dist/compatible/schemas/tweet.yaml +8 -1
- package/twitter-openapi/dist/compatible/schemas/typename.yaml +3 -0
- package/twitter-openapi/dist/compatible/schemas/user.yaml +23 -7
- package/twitter-openapi/dist/docs/openapi-3.0.yaml +7 -3
- package/twitter-openapi/dist/docs/paths/bookmarks.yaml +3 -1
- package/twitter-openapi/dist/docs/paths/follow.yaml +9 -3
- package/twitter-openapi/dist/docs/paths/other.yaml +2 -1
- package/twitter-openapi/dist/docs/paths/post.yaml +18 -6
- package/twitter-openapi/dist/docs/paths/profile.yaml +5 -2
- package/twitter-openapi/dist/docs/paths/timeline.yaml +12 -4
- package/twitter-openapi/dist/docs/paths/tweet.yaml +11 -5
- package/twitter-openapi/dist/docs/paths/user.yaml +10 -4
- package/twitter-openapi/dist/docs/paths/usertweets.yaml +250 -4
- package/twitter-openapi/dist/docs/schemas/content.yaml +21 -15
- package/twitter-openapi/dist/docs/schemas/error.yaml +94 -0
- package/twitter-openapi/dist/docs/schemas/instruction.yaml +4 -8
- package/twitter-openapi/dist/docs/schemas/timeline.yaml +2 -0
- package/twitter-openapi/dist/docs/schemas/tweet.yaml +8 -1
- package/twitter-openapi/dist/docs/schemas/typename.yaml +3 -0
- package/twitter-openapi/dist/docs/schemas/user.yaml +23 -7
- package/twitter-openapi/src/config/placeholder.json +36 -1
- package/twitter-openapi/src/openapi/openapi-3.0.yaml +5 -3
- package/twitter-openapi/src/openapi/paths/bookmarks.yaml +3 -1
- package/twitter-openapi/src/openapi/paths/follow.yaml +9 -3
- package/twitter-openapi/src/openapi/paths/other.yaml +2 -1
- package/twitter-openapi/src/openapi/paths/post.yaml +18 -6
- package/twitter-openapi/src/openapi/paths/profile.yaml +6 -3
- package/twitter-openapi/src/openapi/paths/timeline.yaml +12 -4
- package/twitter-openapi/src/openapi/paths/tweet.yaml +11 -5
- package/twitter-openapi/src/openapi/paths/user.yaml +10 -4
- package/twitter-openapi/src/openapi/paths/usertweets.yaml +66 -4
- package/twitter-openapi/src/openapi/schemas/content.yaml +26 -19
- package/twitter-openapi/src/openapi/schemas/error.yaml +99 -0
- package/twitter-openapi/src/openapi/schemas/instruction.yaml +7 -11
- package/twitter-openapi/src/openapi/schemas/timeline.yaml +4 -2
- package/twitter-openapi/src/openapi/schemas/tweet.yaml +16 -9
- package/twitter-openapi/src/openapi/schemas/typename.yaml +3 -0
- package/twitter-openapi/src/openapi/schemas/user.yaml +33 -10
- package/twitter-openapi/test/dart-dio/openapi-generator-config.yaml +2 -0
- package/twitter-openapi/test/local.sh +6 -0
- package/twitter-openapi/test/python/openapi-generator-config.yaml +4 -0
- package/twitter-openapi/test/python/test_serialize.py +160 -0
- package/twitter-openapi/test/typescript-fetch/openapi-generator-config.yaml +4 -0
- package/twitter-openapi/tools/__pycache__/build_config.cpython-310.pyc +0 -0
- package/twitter-openapi/tools/__pycache__/hooks.cpython-310.pyc +0 -0
- package/twitter-openapi/tools/build_config.py +1 -1
- package/twitter-openapi/tools/hooks.py +23 -0
- package/twitter-openapi/tools/login.py +17 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
openapi: 3.0.3
|
|
2
|
+
info:
|
|
3
|
+
title: Twitter OpenAPI
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
|
|
6
|
+
paths: {}
|
|
7
|
+
components:
|
|
8
|
+
schemas:
|
|
9
|
+
Errors:
|
|
10
|
+
type: object
|
|
11
|
+
required:
|
|
12
|
+
- errors
|
|
13
|
+
properties:
|
|
14
|
+
errors:
|
|
15
|
+
type: array
|
|
16
|
+
items:
|
|
17
|
+
$ref: "#/components/schemas/Error"
|
|
18
|
+
|
|
19
|
+
Error:
|
|
20
|
+
type: object
|
|
21
|
+
required:
|
|
22
|
+
- message
|
|
23
|
+
- locations
|
|
24
|
+
- path
|
|
25
|
+
- extensions
|
|
26
|
+
- code
|
|
27
|
+
- kind
|
|
28
|
+
- name
|
|
29
|
+
- source
|
|
30
|
+
- retry_after
|
|
31
|
+
- tracing
|
|
32
|
+
properties:
|
|
33
|
+
message:
|
|
34
|
+
type: string
|
|
35
|
+
locations:
|
|
36
|
+
type: array
|
|
37
|
+
items:
|
|
38
|
+
$ref: "#/components/schemas/Location"
|
|
39
|
+
path:
|
|
40
|
+
type: array
|
|
41
|
+
items:
|
|
42
|
+
type: string
|
|
43
|
+
extensions:
|
|
44
|
+
$ref: "#/components/schemas/ErrorExtensions"
|
|
45
|
+
code:
|
|
46
|
+
type: integer
|
|
47
|
+
kind:
|
|
48
|
+
type: string
|
|
49
|
+
name:
|
|
50
|
+
type: string
|
|
51
|
+
source:
|
|
52
|
+
type: string
|
|
53
|
+
retry_after:
|
|
54
|
+
type: integer
|
|
55
|
+
tracing:
|
|
56
|
+
$ref: "#/components/schemas/Tracing"
|
|
57
|
+
|
|
58
|
+
Location:
|
|
59
|
+
type: object
|
|
60
|
+
required:
|
|
61
|
+
- line
|
|
62
|
+
- column
|
|
63
|
+
properties:
|
|
64
|
+
line:
|
|
65
|
+
type: integer
|
|
66
|
+
column:
|
|
67
|
+
type: integer
|
|
68
|
+
|
|
69
|
+
ErrorExtensions:
|
|
70
|
+
type: object
|
|
71
|
+
required:
|
|
72
|
+
- name
|
|
73
|
+
- source
|
|
74
|
+
- retry_after
|
|
75
|
+
- code
|
|
76
|
+
- kind
|
|
77
|
+
- tracing
|
|
78
|
+
properties:
|
|
79
|
+
name:
|
|
80
|
+
type: string
|
|
81
|
+
source:
|
|
82
|
+
type: string
|
|
83
|
+
retry_after:
|
|
84
|
+
type: integer
|
|
85
|
+
code:
|
|
86
|
+
type: integer
|
|
87
|
+
kind:
|
|
88
|
+
type: string
|
|
89
|
+
tracing:
|
|
90
|
+
$ref: "#/components/schemas/Tracing"
|
|
91
|
+
|
|
92
|
+
Tracing:
|
|
93
|
+
type: object
|
|
94
|
+
required:
|
|
95
|
+
- trace_id
|
|
96
|
+
properties:
|
|
97
|
+
trace_id:
|
|
98
|
+
type: string
|
|
99
|
+
pattern: "^[0-9a-f]{16}$"
|
|
@@ -45,7 +45,6 @@ components:
|
|
|
45
45
|
- entries
|
|
46
46
|
properties:
|
|
47
47
|
type:
|
|
48
|
-
type: string
|
|
49
48
|
$ref: "#/components/schemas/InstructionType" # TimelineAddEntries
|
|
50
49
|
entries:
|
|
51
50
|
type: array
|
|
@@ -59,7 +58,6 @@ components:
|
|
|
59
58
|
- moduleEntryId
|
|
60
59
|
properties:
|
|
61
60
|
type:
|
|
62
|
-
type: string
|
|
63
61
|
$ref: "#/components/schemas/InstructionType" # TimelineAddToModule
|
|
64
62
|
moduleItems:
|
|
65
63
|
type: array
|
|
@@ -75,7 +73,6 @@ components:
|
|
|
75
73
|
- type
|
|
76
74
|
properties:
|
|
77
75
|
type:
|
|
78
|
-
type: string
|
|
79
76
|
$ref: "#/components/schemas/InstructionType" # TimelineClearCache
|
|
80
77
|
|
|
81
78
|
TimelinePinEntry:
|
|
@@ -84,7 +81,6 @@ components:
|
|
|
84
81
|
- entry
|
|
85
82
|
properties:
|
|
86
83
|
type:
|
|
87
|
-
type: string
|
|
88
84
|
$ref: "#/components/schemas/InstructionType" # TimelinePinEntry
|
|
89
85
|
entry:
|
|
90
86
|
$ref: "#/components/schemas/TimelineAddEntry"
|
|
@@ -96,7 +92,6 @@ components:
|
|
|
96
92
|
- entry
|
|
97
93
|
properties:
|
|
98
94
|
type:
|
|
99
|
-
type: string
|
|
100
95
|
$ref: "#/components/schemas/InstructionType" # TimelineReplaceEntry
|
|
101
96
|
entry_id_to_replace:
|
|
102
97
|
type: string
|
|
@@ -110,7 +105,6 @@ components:
|
|
|
110
105
|
- richText
|
|
111
106
|
properties:
|
|
112
107
|
type:
|
|
113
|
-
type: string
|
|
114
108
|
$ref: "#/components/schemas/InstructionType" # TimelineShowAlert
|
|
115
109
|
alertType:
|
|
116
110
|
type: string
|
|
@@ -131,11 +125,14 @@ components:
|
|
|
131
125
|
entities:
|
|
132
126
|
type: array
|
|
133
127
|
items:
|
|
134
|
-
type: object
|
|
128
|
+
type: object
|
|
129
|
+
additionalProperties: true # todo
|
|
135
130
|
iconDisplayInfo:
|
|
136
|
-
type: object
|
|
131
|
+
type: object
|
|
132
|
+
additionalProperties: true # todo
|
|
137
133
|
colorConfig:
|
|
138
|
-
type: object
|
|
134
|
+
type: object
|
|
135
|
+
additionalProperties: true # todo
|
|
139
136
|
displayLocation:
|
|
140
137
|
type: string
|
|
141
138
|
enum: [Top] # which else?
|
|
@@ -146,7 +143,6 @@ components:
|
|
|
146
143
|
- direction
|
|
147
144
|
properties:
|
|
148
145
|
type:
|
|
149
|
-
type: string
|
|
150
146
|
$ref: "#/components/schemas/InstructionType" # TimelineTerminateTimeline
|
|
151
147
|
direction:
|
|
152
148
|
type: string
|
|
@@ -162,7 +158,7 @@ components:
|
|
|
162
158
|
$ref: "./content.yaml#/components/schemas/ContentUnion"
|
|
163
159
|
entryId:
|
|
164
160
|
type: string
|
|
165
|
-
pattern:
|
|
161
|
+
pattern: "^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+"
|
|
166
162
|
sortIndex:
|
|
167
163
|
type: string
|
|
168
164
|
pattern: "[0-9]+$"
|
|
@@ -22,6 +22,8 @@ components:
|
|
|
22
22
|
items:
|
|
23
23
|
$ref: "./../schemas/instruction.yaml#/components/schemas/InstructionUnion"
|
|
24
24
|
metadata:
|
|
25
|
-
type: object
|
|
25
|
+
type: object
|
|
26
|
+
additionalProperties: true # todo
|
|
26
27
|
responseObjects:
|
|
27
|
-
type: object
|
|
28
|
+
type: object
|
|
29
|
+
additionalProperties: true # todo
|
|
@@ -33,14 +33,14 @@ components:
|
|
|
33
33
|
properties:
|
|
34
34
|
__typename:
|
|
35
35
|
$ref: "./typename.yaml#/components/schemas/TypeName" # TweetWithVisibilityResults
|
|
36
|
-
|
|
36
|
+
additionalProperties: true # todo
|
|
37
37
|
|
|
38
38
|
Tweet:
|
|
39
39
|
required:
|
|
40
40
|
- "rest_id"
|
|
41
41
|
- "core"
|
|
42
42
|
- "edit_control"
|
|
43
|
-
- "edit_prespective"
|
|
43
|
+
# - "edit_prespective"
|
|
44
44
|
- "is_translatable"
|
|
45
45
|
- "legacy"
|
|
46
46
|
- "views"
|
|
@@ -93,7 +93,8 @@ components:
|
|
|
93
93
|
type:
|
|
94
94
|
type: string
|
|
95
95
|
unmention_data:
|
|
96
|
-
type: object
|
|
96
|
+
type: object
|
|
97
|
+
additionalProperties: true # todo
|
|
97
98
|
edit_control:
|
|
98
99
|
type: object
|
|
99
100
|
properties:
|
|
@@ -241,11 +242,14 @@ components:
|
|
|
241
242
|
$ref: "#/components/schemas/Media"
|
|
242
243
|
|
|
243
244
|
Hashtag:
|
|
244
|
-
type: object
|
|
245
|
+
type: object
|
|
246
|
+
additionalProperties: true # todo
|
|
245
247
|
Symbol:
|
|
246
|
-
type: object
|
|
248
|
+
type: object
|
|
249
|
+
additionalProperties: true # todo
|
|
247
250
|
UserMention:
|
|
248
|
-
type: object
|
|
251
|
+
type: object
|
|
252
|
+
additionalProperties: true # todo
|
|
249
253
|
Url:
|
|
250
254
|
type: object
|
|
251
255
|
required:
|
|
@@ -310,7 +314,8 @@ components:
|
|
|
310
314
|
type:
|
|
311
315
|
type: string # enum
|
|
312
316
|
sizes:
|
|
313
|
-
type: object
|
|
317
|
+
type: object
|
|
318
|
+
additionalProperties: true # todo
|
|
314
319
|
original_info:
|
|
315
320
|
type: object
|
|
316
321
|
properties:
|
|
@@ -321,9 +326,11 @@ components:
|
|
|
321
326
|
focus_rects:
|
|
322
327
|
type: array
|
|
323
328
|
items:
|
|
324
|
-
type: object
|
|
329
|
+
type: object
|
|
330
|
+
additionalProperties: true # todo
|
|
325
331
|
media_key:
|
|
326
332
|
type: string
|
|
327
333
|
pattern: "^[0-9]+_[0-9]+$"
|
|
328
334
|
ext_media_availability:
|
|
329
|
-
type: object
|
|
335
|
+
type: object
|
|
336
|
+
additionalProperties: true # todo
|
|
@@ -17,7 +17,17 @@ components:
|
|
|
17
17
|
- "result"
|
|
18
18
|
properties:
|
|
19
19
|
result:
|
|
20
|
-
$ref: "#/components/schemas/
|
|
20
|
+
$ref: "#/components/schemas/UserUnion"
|
|
21
|
+
|
|
22
|
+
UserUnion:
|
|
23
|
+
oneOf:
|
|
24
|
+
- $ref: "#/components/schemas/User"
|
|
25
|
+
- $ref: "#/components/schemas/UserUnavailable"
|
|
26
|
+
discriminator:
|
|
27
|
+
propertyName: __typename
|
|
28
|
+
mapping": # deprecated
|
|
29
|
+
User: "#/components/schemas/User"
|
|
30
|
+
UserUnavailable: "#/components/schemas/UserUnavailable"
|
|
21
31
|
|
|
22
32
|
User:
|
|
23
33
|
required:
|
|
@@ -35,7 +45,8 @@ components:
|
|
|
35
45
|
__typename:
|
|
36
46
|
$ref: "./typename.yaml#/components/schemas/TypeName" # User
|
|
37
47
|
affiliates_highlighted_label:
|
|
38
|
-
type: object
|
|
48
|
+
type: object
|
|
49
|
+
additionalProperties: true # todo
|
|
39
50
|
has_graduated_access:
|
|
40
51
|
type: boolean
|
|
41
52
|
has_nft_avatar:
|
|
@@ -43,7 +54,7 @@ components:
|
|
|
43
54
|
default: false
|
|
44
55
|
id:
|
|
45
56
|
type: string
|
|
46
|
-
pattern:
|
|
57
|
+
pattern: "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$" # base64
|
|
47
58
|
is_blue_verified:
|
|
48
59
|
type: boolean
|
|
49
60
|
default: false
|
|
@@ -53,7 +64,8 @@ components:
|
|
|
53
64
|
type: string
|
|
54
65
|
pattern: "^[0-9]+$"
|
|
55
66
|
business_account:
|
|
56
|
-
type: object
|
|
67
|
+
type: object
|
|
68
|
+
additionalProperties: true # todo
|
|
57
69
|
super_follow_eligible:
|
|
58
70
|
type: boolean
|
|
59
71
|
default: false
|
|
@@ -77,10 +89,10 @@ components:
|
|
|
77
89
|
- "entities"
|
|
78
90
|
- "fast_followers_count"
|
|
79
91
|
- "favourites_count"
|
|
80
|
-
- "follow_request_sent"
|
|
81
|
-
- "followed_by"
|
|
92
|
+
# 31 # - "follow_request_sent"
|
|
93
|
+
# 31 # - "followed_by"
|
|
82
94
|
- "followers_count"
|
|
83
|
-
- "following"
|
|
95
|
+
# 31 # - "following"
|
|
84
96
|
- "friends_count"
|
|
85
97
|
- "has_custom_timelines"
|
|
86
98
|
- "is_translator"
|
|
@@ -90,12 +102,12 @@ components:
|
|
|
90
102
|
- "muting"
|
|
91
103
|
- "name"
|
|
92
104
|
- "normal_followers_count"
|
|
93
|
-
- "notifications"
|
|
105
|
+
# 31 # - "notifications"
|
|
94
106
|
- "pinned_tweet_ids_str"
|
|
95
107
|
- "possibly_sensitive"
|
|
96
108
|
- "profile_image_url_https"
|
|
97
109
|
- "profile_interstitial_type"
|
|
98
|
-
- "protected"
|
|
110
|
+
# 31 # - "protected"
|
|
99
111
|
- "screen_name"
|
|
100
112
|
- "status"
|
|
101
113
|
- "statuses_count"
|
|
@@ -126,7 +138,8 @@ components:
|
|
|
126
138
|
description:
|
|
127
139
|
type: string
|
|
128
140
|
entities:
|
|
129
|
-
type: object
|
|
141
|
+
type: object
|
|
142
|
+
additionalProperties: true # todo
|
|
130
143
|
fast_followers_count:
|
|
131
144
|
type: integer
|
|
132
145
|
favourites_count:
|
|
@@ -208,3 +221,13 @@ components:
|
|
|
208
221
|
want_retweets:
|
|
209
222
|
type: boolean
|
|
210
223
|
default: false
|
|
224
|
+
|
|
225
|
+
UserUnavailable:
|
|
226
|
+
required:
|
|
227
|
+
- "__typename"
|
|
228
|
+
- "reason"
|
|
229
|
+
properties:
|
|
230
|
+
__typename:
|
|
231
|
+
$ref: "./typename.yaml#/components/schemas/TypeName" # UserUnavailable
|
|
232
|
+
reason:
|
|
233
|
+
type: string
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import os
|
|
3
|
+
import logging
|
|
4
|
+
import base64
|
|
5
|
+
import openapi_client as pt
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
import time
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s")
|
|
11
|
+
logger = logging.getLogger("test_serialize")
|
|
12
|
+
|
|
13
|
+
TWITTER_SESSION = os.environ.get("TWITTER_SESSION", None)
|
|
14
|
+
ERROR_UNCATCHED = os.environ.get("ERROR_UNCATCHED", "false").lower() == "true"
|
|
15
|
+
SLEEP_TIME = float(os.environ.get("SLEEP", "0"))
|
|
16
|
+
CUESOR_TEST_COUNT = int(os.environ.get("CUESOR_TEST_COUNT", "3"))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
if Path("cookie.json").exists():
|
|
20
|
+
with open("cookie.json", "r") as f:
|
|
21
|
+
cookies = json.load(f)
|
|
22
|
+
elif TWITTER_SESSION is not None:
|
|
23
|
+
data = base64.b64decode(TWITTER_SESSION).decode("utf-8")
|
|
24
|
+
cookies = json.loads(data)
|
|
25
|
+
else:
|
|
26
|
+
commands = ["python -m pip install tweepy_authlib", "python tools/login.py"]
|
|
27
|
+
raise Exception(f'cookie.json not found. Please run `{"; ".join(commands)}` first.')
|
|
28
|
+
|
|
29
|
+
cookies_str = "; ".join([f"{k}={v}" for k, v in cookies.items()])
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
with open("src/config/placeholder.json", "r") as f:
|
|
33
|
+
placeholder = json.load(f)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def get_key(snake_str):
|
|
37
|
+
components = snake_str.split("_")
|
|
38
|
+
return "".join(x.title() for x in components[1:])
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def get_cursor(obj, fn):
|
|
42
|
+
res = []
|
|
43
|
+
if type(obj) == dict:
|
|
44
|
+
callback = fn(obj)
|
|
45
|
+
if callback is not None:
|
|
46
|
+
res.extend(callback)
|
|
47
|
+
else:
|
|
48
|
+
for v in obj.values():
|
|
49
|
+
res.extend(get_cursor(v, fn))
|
|
50
|
+
elif type(obj) == list:
|
|
51
|
+
for v in obj:
|
|
52
|
+
res.extend(get_cursor(v, fn))
|
|
53
|
+
return res
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def find_cursor(x):
|
|
57
|
+
if x.get("__typename") is pt.TypeName.TIMELINETIMELINECURSOR:
|
|
58
|
+
return [x["value"]]
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def find_name(x):
|
|
62
|
+
if x.get("name") is not None:
|
|
63
|
+
return [x["name"]]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def get_kwargs(key, additional):
|
|
67
|
+
kwargs = {"path_query_id": placeholder[key]["queryId"]}
|
|
68
|
+
if placeholder[key].get("variables") is not None:
|
|
69
|
+
kwargs["variables"] = json.dumps(placeholder[key]["variables"] | additional)
|
|
70
|
+
if placeholder[key].get("features") is not None:
|
|
71
|
+
kwargs["features"] = json.dumps(placeholder[key]["features"])
|
|
72
|
+
if placeholder[key].get("fieldToggles") is not None:
|
|
73
|
+
kwargs["field_toggles"] = json.dumps(placeholder[key]["fieldToggles"])
|
|
74
|
+
return kwargs
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def error_dump(e):
|
|
78
|
+
if ERROR_UNCATCHED:
|
|
79
|
+
raise
|
|
80
|
+
import traceback
|
|
81
|
+
|
|
82
|
+
logger.error("==========[STACK TRACE]==========")
|
|
83
|
+
for trace in traceback.format_exc().split("\n"):
|
|
84
|
+
logger.error(trace)
|
|
85
|
+
logger.info("================================")
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
api_conf = pt.Configuration(
|
|
89
|
+
api_key={
|
|
90
|
+
"ClientLanguage": "en",
|
|
91
|
+
"ActiveUser": "yes",
|
|
92
|
+
"AuthType": "OAuth2Session",
|
|
93
|
+
"CsrfToken": cookies["ct0"],
|
|
94
|
+
},
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
api_conf.access_token = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
|
|
98
|
+
|
|
99
|
+
api_client = pt.ApiClient(configuration=api_conf, cookie=cookies_str)
|
|
100
|
+
api_client.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
|
|
101
|
+
|
|
102
|
+
error_count = 0
|
|
103
|
+
|
|
104
|
+
for x in [pt.DefaultApi, pt.TweetApi, pt.UserApi, pt.UsersApi, pt.UserListApi]:
|
|
105
|
+
for props, fn in x.__dict__.items():
|
|
106
|
+
if not callable(fn):
|
|
107
|
+
continue
|
|
108
|
+
if props.startswith("__") or props.endswith("_with_http_info"):
|
|
109
|
+
continue
|
|
110
|
+
|
|
111
|
+
key = get_key(props)
|
|
112
|
+
cursor_list = set([None])
|
|
113
|
+
cursor_history = set()
|
|
114
|
+
|
|
115
|
+
try:
|
|
116
|
+
for _ in range(CUESOR_TEST_COUNT):
|
|
117
|
+
cursor = cursor_list.pop()
|
|
118
|
+
cursor_history.add(cursor)
|
|
119
|
+
logger.info(f"Try: {key} {cursor}")
|
|
120
|
+
|
|
121
|
+
kwargs = get_kwargs(key, {} if cursor is None else {"cursor": cursor})
|
|
122
|
+
res: dict = getattr(x(api_client), props)(**kwargs).to_dict()
|
|
123
|
+
|
|
124
|
+
new_cursor = set(get_cursor(res, find_cursor)) - cursor_history
|
|
125
|
+
cursor_list.update(new_cursor)
|
|
126
|
+
# logger.info(f"Find cursor: {len(new_cursor)}")
|
|
127
|
+
|
|
128
|
+
if res.get("errors") is not None:
|
|
129
|
+
logger.error(res)
|
|
130
|
+
error_count += 1
|
|
131
|
+
|
|
132
|
+
if len(cursor_list) == 0:
|
|
133
|
+
break
|
|
134
|
+
time.sleep(SLEEP_TIME)
|
|
135
|
+
|
|
136
|
+
except Exception as e:
|
|
137
|
+
error_dump(e)
|
|
138
|
+
error_count += 1
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
try:
|
|
142
|
+
logger.info(f"Try: Self UserByScreenName Test")
|
|
143
|
+
kwargs = get_kwargs("UserByScreenName", {"screen_name": "a810810931931"})
|
|
144
|
+
res = pt.UserApi(api_client).get_user_by_screen_name(**kwargs).to_dict()
|
|
145
|
+
if not res["data"]["user"]["result"]["legacy"]["screen_name"] == "a810810931931":
|
|
146
|
+
raise Exception("UserByScreenName failed")
|
|
147
|
+
except Exception as e:
|
|
148
|
+
error_dump(e)
|
|
149
|
+
error_count += 1
|
|
150
|
+
|
|
151
|
+
try:
|
|
152
|
+
logger.info(f"Try: Self UserTweets Test")
|
|
153
|
+
kwargs = get_kwargs("UserTweets", {"userId": "1180389371481976833"})
|
|
154
|
+
pt.TweetApi(api_client).get_user_tweets(**kwargs)
|
|
155
|
+
except Exception as e:
|
|
156
|
+
error_dump(e)
|
|
157
|
+
error_count += 1
|
|
158
|
+
|
|
159
|
+
if error_count > 0:
|
|
160
|
+
exit(1)
|
|
Binary file
|
|
Binary file
|
|
@@ -109,6 +109,29 @@ class RemoveDiscriminator(SchemasHookBase):
|
|
|
109
109
|
return value
|
|
110
110
|
|
|
111
111
|
|
|
112
|
+
class SchemasCheck(SchemasHookBase):
|
|
113
|
+
def hook(self, value: dict):
|
|
114
|
+
if value.get("allOf") is not None:
|
|
115
|
+
print(f"allOf is used")
|
|
116
|
+
if value.get("type") is None:
|
|
117
|
+
print("Type is None")
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class RequiredCheck(SchemasHookBase):
|
|
122
|
+
def hook(self, value: dict):
|
|
123
|
+
required = value.get("required", [])
|
|
124
|
+
|
|
125
|
+
for key, property in value.get("properties", {}).items():
|
|
126
|
+
if key in required and property.get("default") is not None:
|
|
127
|
+
print(f"{key} is required and has default value")
|
|
128
|
+
d = property.get("default") is None and property.get("nullable", False)
|
|
129
|
+
if property not in required and d:
|
|
130
|
+
print(f"{key} is not required and has no default value")
|
|
131
|
+
|
|
132
|
+
return value
|
|
133
|
+
|
|
134
|
+
|
|
112
135
|
# RequestHookBase extends
|
|
113
136
|
|
|
114
137
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import base64
|
|
3
|
+
from tweepy_authlib import CookieSessionUserHandler
|
|
4
|
+
|
|
5
|
+
auth_handler = CookieSessionUserHandler(
|
|
6
|
+
screen_name=input("screen_name: "),
|
|
7
|
+
password=input("password: "),
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
cookies = auth_handler.get_cookies()
|
|
12
|
+
|
|
13
|
+
data = json.dumps(cookies.get_dict())
|
|
14
|
+
print(base64.b64encode(data.encode("utf-8")).decode("utf-8"))
|
|
15
|
+
|
|
16
|
+
with open("cookie.json", "w") as f:
|
|
17
|
+
f.write(data)
|