From 6441ffabf1a555c3841ded905d01817c1ae94526 Mon Sep 17 00:00:00 2001 From: firedotguy Date: Thu, 29 Jan 2026 19:46:37 +0300 Subject: [PATCH] init commit --- .gitignore | 3 +++ itd/__init__.py | 1 + itd/client.py | 11 +++++++++++ itd/request.py | 24 ++++++++++++++++++++++++ itd/users.py | 5 +++++ requirements.txt | 0 6 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 itd/__init__.py create mode 100644 itd/client.py create mode 100644 itd/request.py create mode 100644 itd/users.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f70c42b --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +test.py +venv/ +__pycache__/ \ No newline at end of file diff --git a/itd/__init__.py b/itd/__init__.py new file mode 100644 index 0000000..e33c29f --- /dev/null +++ b/itd/__init__.py @@ -0,0 +1 @@ +from itd.client import Client as ITDClient \ No newline at end of file diff --git a/itd/client.py b/itd/client.py new file mode 100644 index 0000000..d11042e --- /dev/null +++ b/itd/client.py @@ -0,0 +1,11 @@ +from itd.users import get_user + +class Client: + def __init__(self, token: str): + self.token = token.replace('Bearer ', '') + + def get_user(self, username: str) -> dict: + return get_user(self.token, username) + + def get_me(self) -> dict: + return self.get_user('me') \ No newline at end of file diff --git a/itd/request.py b/itd/request.py new file mode 100644 index 0000000..74707c7 --- /dev/null +++ b/itd/request.py @@ -0,0 +1,24 @@ +from requests import Session + +s = Session() + + +def fetch(token: str, method: str, url: str): + res = eval(f's.{method}')(f'https://итд.com/api/{url}', headers={ + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3", + "Accept-Encoding": "gzip, deflate, br, zstd", + "Authorization": 'Bearer ' + token, + "Sec-GPC": "1", + "Upgrade-Insecure-Requests": "1", + "Sec-Fetch-Dest": "document", + "Sec-Fetch-Mode": "navigate", + "Sec-Fetch-Site": "none", + "Sec-Fetch-User": "?1", + "Priority": "u=0, i", + "Pragma": "no-cache", + "Cache-Control": "no-cache", + "TE": "trailers" + }) + res.raise_for_status() + return res.json() \ No newline at end of file diff --git a/itd/users.py b/itd/users.py new file mode 100644 index 0000000..a6468c9 --- /dev/null +++ b/itd/users.py @@ -0,0 +1,5 @@ +from itd.request import fetch + + +def get_user(token: str, username: str): + return fetch(token, 'get', f'users/{username}') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29