refactor: move api calls to routes folder; feat: add update_banner user-friendly method; fix: change file data type
This commit is contained in:
@@ -25,6 +25,7 @@ print(c.get_me())
|
||||
|
||||
---
|
||||
### Скрипт на обновление имени
|
||||
Этот код сейчас работает на @itd_sdk (обновляется имя и пост)
|
||||
```python
|
||||
from itd import ITDClient
|
||||
from time import sleep
|
||||
@@ -36,7 +37,8 @@ c = ITDClient(None, '...')
|
||||
|
||||
while True:
|
||||
c.update_profile(display_name=f'PYTHON ITD SDK | Рандом: {randint(1, 100)} | {datetime.now().strftime("%m.%d %H:%M:%S")}')
|
||||
c.edit_post('82ea8a4f-a49e-485e-b0dc-94d7da9df990', f'рил ща {datetime.now(timezone.utc).isoformat(" ")} по UTC (обновляется каждую секунду)')
|
||||
# редактирование поста
|
||||
# c.edit_post('82ea8a4f-a49e-485e-b0dc-94d7da9df990', f'рил ща {datetime.now(timezone.utc).isoformat(" ")} по UTC (обновляется каждую секунду)')
|
||||
sleep(1)
|
||||
```
|
||||
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
from _io import BufferedReader
|
||||
from typing import cast
|
||||
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
from itd.users import get_user, update_profile, follow, unfollow, get_followers, get_following
|
||||
from itd.etc import get_top_clans, get_who_to_follow, get_platform_status
|
||||
from itd.comments import get_comments, add_comment, delete_comment, like_comment, unlike_comment
|
||||
from itd.hashtags import get_hastags, get_posts_by_hastag
|
||||
from itd.notifications import get_notifications, mark_as_read, mark_all_as_read, get_unread_notifications_count
|
||||
from itd.posts import create_post, get_posts, get_post, edit_post, delete_post, pin_post, repost, view_post
|
||||
from itd.reports import report
|
||||
from itd.search import search
|
||||
from itd.files import upload_file
|
||||
from itd.routes.users import get_user, update_profile, follow, unfollow, get_followers, get_following
|
||||
from itd.routes.etc import get_top_clans, get_who_to_follow, get_platform_status
|
||||
from itd.routes.comments import get_comments, add_comment, delete_comment, like_comment, unlike_comment
|
||||
from itd.routes.hashtags import get_hastags, get_posts_by_hastag
|
||||
from itd.routes.notifications import get_notifications, mark_as_read, mark_all_as_read, get_unread_notifications_count
|
||||
from itd.routes.posts import create_post, get_posts, get_post, edit_post, delete_post, pin_post, repost, view_post
|
||||
from itd.routes.reports import report
|
||||
from itd.routes.search import search
|
||||
from itd.routes.files import upload_file
|
||||
from itd.request import refresh_auth
|
||||
|
||||
|
||||
@@ -195,5 +198,9 @@ class Client:
|
||||
|
||||
|
||||
@refresh_on_error
|
||||
def upload_file(self, name: str, data: bytes):
|
||||
return upload_file(self.token, name, data)
|
||||
def upload_file(self, name: str, data: BufferedReader):
|
||||
return upload_file(self.token, name, data)
|
||||
|
||||
def update_banner(self, name: str):
|
||||
id = self.upload_file(name, cast(BufferedReader, open(name, 'rb')))['id']
|
||||
return self.update_profile(banner_id=id)
|
||||
@@ -1,9 +1,11 @@
|
||||
from _io import BufferedReader
|
||||
|
||||
from requests import Session
|
||||
|
||||
s = Session()
|
||||
|
||||
|
||||
def fetch(token: str, method: str, url: str, params: dict = {}, files: dict[str, tuple[str, bytes]] = {}):
|
||||
def fetch(token: str, method: str, url: str, params: dict = {}, files: dict[str, tuple[str, BufferedReader]] = {}):
|
||||
base = f'https://xn--d1ah4a.com/api/{url}'
|
||||
headers = {
|
||||
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from _io import BufferedReader
|
||||
|
||||
from itd.request import fetch
|
||||
|
||||
|
||||
def upload_file(token: str, name: str, data: bytes):
|
||||
def upload_file(token: str, name: str, data: BufferedReader):
|
||||
return fetch(token, 'post', 'files/upload', files={'file': (name, data)})
|
||||
BIN
nowkie.gif
Normal file
BIN
nowkie.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 MiB |
Reference in New Issue
Block a user