Skip to content

Commit ff2b466

Browse files
committed
New socials
1 parent 7dc750f commit ff2b466

File tree

2 files changed

+174
-0
lines changed

2 files changed

+174
-0
lines changed

ensembledata/api/_async_client.py

+87
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,56 @@ async def post_comments(
946946
return await self.requester.get("/reddit/post/comments", params=params, timeout=timeout)
947947

948948

949+
class TwitterEndpoints:
950+
def __init__(self, requester: AsyncRequester):
951+
self.requester = requester
952+
953+
async def user_info(
954+
self,
955+
*,
956+
name: str,
957+
extra_params: Mapping[str, Any] | None = None,
958+
timeout: float | None = None,
959+
) -> EDResponse:
960+
params: dict[str, Any] = {
961+
"name": name,
962+
}
963+
if extra_params is not None:
964+
params = {**extra_params, **params}
965+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
966+
return await self.requester.get("/twitter/user/info", params=params, timeout=timeout)
967+
968+
async def user_tweets(
969+
self,
970+
*,
971+
id: int,
972+
extra_params: Mapping[str, Any] | None = None,
973+
timeout: float | None = None,
974+
) -> EDResponse:
975+
params: dict[str, Any] = {
976+
"id": id,
977+
}
978+
if extra_params is not None:
979+
params = {**extra_params, **params}
980+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
981+
return await self.requester.get("/twitter/user/tweets", params=params, timeout=timeout)
982+
983+
async def post_info(
984+
self,
985+
*,
986+
id: int,
987+
extra_params: Mapping[str, Any] | None = None,
988+
timeout: float | None = None,
989+
) -> EDResponse:
990+
params: dict[str, Any] = {
991+
"id": id,
992+
}
993+
if extra_params is not None:
994+
params = {**extra_params, **params}
995+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
996+
return await self.requester.get("/twitter/post/info", params=params, timeout=timeout)
997+
998+
949999
class ThreadsEndpoints:
9501000
def __init__(self, requester: AsyncRequester):
9511001
self.requester = requester
@@ -1014,6 +1064,41 @@ async def user_posts(
10141064
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
10151065
return await self.requester.get("/threads/user/posts", params=params, timeout=timeout)
10161066

1067+
async def post_replies(
1068+
self,
1069+
*,
1070+
id: int,
1071+
extra_params: Mapping[str, Any] | None = None,
1072+
timeout: float | None = None,
1073+
) -> EDResponse:
1074+
params: dict[str, Any] = {
1075+
"id": id,
1076+
}
1077+
if extra_params is not None:
1078+
params = {**extra_params, **params}
1079+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
1080+
return await self.requester.get("/threads/post/replies", params=params, timeout=timeout)
1081+
1082+
1083+
class SnapchatEndpoints:
1084+
def __init__(self, requester: AsyncRequester):
1085+
self.requester = requester
1086+
1087+
async def user_info(
1088+
self,
1089+
*,
1090+
name: str,
1091+
extra_params: Mapping[str, Any] | None = None,
1092+
timeout: float | None = None,
1093+
) -> EDResponse:
1094+
params: dict[str, Any] = {
1095+
"name": name,
1096+
}
1097+
if extra_params is not None:
1098+
params = {**extra_params, **params}
1099+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
1100+
return await self.requester.get("/snapchat/user/info", params=params, timeout=timeout)
1101+
10171102

10181103
class EDAsyncClient:
10191104
def __init__(self, token: str, *, timeout: float = 600, max_network_retries: int = 3):
@@ -1026,7 +1111,9 @@ def __init__(self, token: str, *, timeout: float = 600, max_network_retries: int
10261111
self.instagram = InstagramEndpoints(self.requester)
10271112
self.twitch = TwitchEndpoints(self.requester)
10281113
self.reddit = RedditEndpoints(self.requester)
1114+
self.twitter = TwitterEndpoints(self.requester)
10291115
self.threads = ThreadsEndpoints(self.requester)
1116+
self.snapchat = SnapchatEndpoints(self.requester)
10301117

10311118
async def request(self, uri: str, params: Mapping[str, Any] | None = None) -> EDResponse:
10321119
return await self.requester.get(uri, params=params or {})

ensembledata/api/_client.py

+87
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,56 @@ def post_comments(
930930
return self.requester.get("/reddit/post/comments", params=params, timeout=timeout)
931931

932932

933+
class TwitterEndpoints:
934+
def __init__(self, requester: Requester):
935+
self.requester = requester
936+
937+
def user_info(
938+
self,
939+
*,
940+
name: str,
941+
extra_params: Mapping[str, Any] | None = None,
942+
timeout: float | None = None,
943+
) -> EDResponse:
944+
params: dict[str, Any] = {
945+
"name": name,
946+
}
947+
if extra_params is not None:
948+
params = {**extra_params, **params}
949+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
950+
return self.requester.get("/twitter/user/info", params=params, timeout=timeout)
951+
952+
def user_tweets(
953+
self,
954+
*,
955+
id: int,
956+
extra_params: Mapping[str, Any] | None = None,
957+
timeout: float | None = None,
958+
) -> EDResponse:
959+
params: dict[str, Any] = {
960+
"id": id,
961+
}
962+
if extra_params is not None:
963+
params = {**extra_params, **params}
964+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
965+
return self.requester.get("/twitter/user/tweets", params=params, timeout=timeout)
966+
967+
def post_info(
968+
self,
969+
*,
970+
id: int,
971+
extra_params: Mapping[str, Any] | None = None,
972+
timeout: float | None = None,
973+
) -> EDResponse:
974+
params: dict[str, Any] = {
975+
"id": id,
976+
}
977+
if extra_params is not None:
978+
params = {**extra_params, **params}
979+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
980+
return self.requester.get("/twitter/post/info", params=params, timeout=timeout)
981+
982+
933983
class ThreadsEndpoints:
934984
def __init__(self, requester: Requester):
935985
self.requester = requester
@@ -998,6 +1048,41 @@ def user_posts(
9981048
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
9991049
return self.requester.get("/threads/user/posts", params=params, timeout=timeout)
10001050

1051+
def post_replies(
1052+
self,
1053+
*,
1054+
id: int,
1055+
extra_params: Mapping[str, Any] | None = None,
1056+
timeout: float | None = None,
1057+
) -> EDResponse:
1058+
params: dict[str, Any] = {
1059+
"id": id,
1060+
}
1061+
if extra_params is not None:
1062+
params = {**extra_params, **params}
1063+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
1064+
return self.requester.get("/threads/post/replies", params=params, timeout=timeout)
1065+
1066+
1067+
class SnapchatEndpoints:
1068+
def __init__(self, requester: Requester):
1069+
self.requester = requester
1070+
1071+
def user_info(
1072+
self,
1073+
*,
1074+
name: str,
1075+
extra_params: Mapping[str, Any] | None = None,
1076+
timeout: float | None = None,
1077+
) -> EDResponse:
1078+
params: dict[str, Any] = {
1079+
"name": name,
1080+
}
1081+
if extra_params is not None:
1082+
params = {**extra_params, **params}
1083+
params = {k: v for k, v in params.items() if not (v is None or v is USE_DEFAULT)}
1084+
return self.requester.get("/snapchat/user/info", params=params, timeout=timeout)
1085+
10011086

10021087
class EDClient:
10031088
def __init__(self, token: str, *, timeout: float = 600, max_network_retries: int = 3):
@@ -1008,7 +1093,9 @@ def __init__(self, token: str, *, timeout: float = 600, max_network_retries: int
10081093
self.instagram = InstagramEndpoints(self.requester)
10091094
self.twitch = TwitchEndpoints(self.requester)
10101095
self.reddit = RedditEndpoints(self.requester)
1096+
self.twitter = TwitterEndpoints(self.requester)
10111097
self.threads = ThreadsEndpoints(self.requester)
1098+
self.snapchat = SnapchatEndpoints(self.requester)
10121099

10131100
async def request(self, uri: str, params: Mapping[str, Any] | None = None) -> EDResponse:
10141101
return self.requester.get(uri, params=params or {})

0 commit comments

Comments
 (0)