aboutsummaryrefslogtreecommitdiff
path: root/src/due/anilist/utilities.py
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-07-28 21:34:34 -0700
committerFuwn <[email protected]>2023-07-28 21:34:34 -0700
commitc32dd8832580d5850dbe6d2146a0d1d50a14756d (patch)
tree15f7abd8d2315f53624a9ff28a73b003e1953c7d /src/due/anilist/utilities.py
parentfeat(index): username route (diff)
downloadold.due.moe-c32dd8832580d5850dbe6d2146a0d1d50a14756d.tar.xz
old.due.moe-c32dd8832580d5850dbe6d2146a0d1d50a14756d.zip
refactor(due): like-functions to modules
Diffstat (limited to 'src/due/anilist/utilities.py')
-rw-r--r--src/due/anilist/utilities.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/due/anilist/utilities.py b/src/due/anilist/utilities.py
new file mode 100644
index 0000000..033939e
--- /dev/null
+++ b/src/due/anilist/utilities.py
@@ -0,0 +1,48 @@
+import requests
+
+
+def user_id(anilist):
+ viewer = requests.post(
+ "https://graphql.anilist.co",
+ json={"query": "{ Viewer { id } }"},
+ headers={
+ "Authorization": anilist["token_type"] + " " + anilist["access_token"],
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+ },
+ ).json()["data"]["Viewer"]
+
+ if viewer is None:
+ return -1
+
+ return int(viewer["id"])
+
+
+def last_activity(id):
+ return int(
+ requests.post(
+ "https://graphql.anilist.co",
+ json={
+ "query": f"""{{ Activity(userId: {id}, type: MEDIA_LIST, sort: ID_DESC) {{
+ __typename ... on ListActivity {{ createdAt }}
+ }} }}"""
+ },
+ headers={
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+ },
+ ).json()["data"]["Activity"]["createdAt"]
+ )
+
+
+def user_name_to_id(name):
+ return int(
+ requests.post(
+ "https://graphql.anilist.co",
+ json={"query": f'{{ User(name: "{name}") {{ id }} }}'},
+ headers={
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+ },
+ ).json()["data"]["User"]["id"]
+ )