reformat (black)
This commit is contained in:
@ -13,37 +13,38 @@ import os
|
||||
|
||||
litterbox_api_url: str = "https://litterbox.catbox.moe/resources/internals/api.php"
|
||||
http_headers: dict[str, str] = {
|
||||
'accept': '*/*',
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53',
|
||||
'Accept-Language': 'en-US,en;q=0.9,it;q=0.8,es;q=0.7',
|
||||
'referer': 'https://www.google.com/',
|
||||
'cookie': 'DSID=AAO-7r4OSkS76zbHUkiOpnI0kk-X19BLDFF53G8gbnd21VZV2iehu-w_2v14cxvRvrkd_NjIdBWX7wUiQ66f-D8kOkTKD1BhLVlqrFAaqDP3LodRK2I0NfrObmhV9HsedGE7-mQeJpwJifSxdchqf524IMh9piBflGqP0Lg0_xjGmLKEQ0F4Na6THgC06VhtUG5infEdqMQ9otlJENe3PmOQTC_UeTH5DnENYwWC8KXs-M4fWmDADmG414V0_X0TfjrYu01nDH2Dcf3TIOFbRDb993g8nOCswLMi92LwjoqhYnFdf1jzgK0'
|
||||
}
|
||||
"accept": "*/*",
|
||||
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53",
|
||||
"Accept-Language": "en-US,en;q=0.9,it;q=0.8,es;q=0.7",
|
||||
"referer": "https://www.google.com/",
|
||||
"cookie": "DSID=AAO-7r4OSkS76zbHUkiOpnI0kk-X19BLDFF53G8gbnd21VZV2iehu-w_2v14cxvRvrkd_NjIdBWX7wUiQ66f-D8kOkTKD1BhLVlqrFAaqDP3LodRK2I0NfrObmhV9HsedGE7-mQeJpwJifSxdchqf524IMh9piBflGqP0Lg0_xjGmLKEQ0F4Na6THgC06VhtUG5infEdqMQ9otlJENe3PmOQTC_UeTH5DnENYwWC8KXs-M4fWmDADmG414V0_X0TfjrYu01nDH2Dcf3TIOFbRDb993g8nOCswLMi92LwjoqhYnFdf1jzgK0",
|
||||
}
|
||||
|
||||
|
||||
class LitterboxAsync:
|
||||
def __init__(self) -> None:
|
||||
self.headers: dict[str, str] = http_headers
|
||||
self.api_path = litterbox_api_url
|
||||
|
||||
|
||||
def generateRandomFileName(self, fileExt: Optional[str] = None) -> str:
|
||||
"""
|
||||
Generate Random Filename
|
||||
|
||||
|
||||
Args:
|
||||
fileExt (Optional[str]): File extension to use for naming
|
||||
Returns:
|
||||
str
|
||||
"""
|
||||
if not fileExt:
|
||||
fileExt = 'png'
|
||||
fileExt = "png"
|
||||
return f"{random.getrandbits(32)}.{fileExt}"
|
||||
|
||||
async def upload(self,
|
||||
file: Union[str, bytes, BufferedReader],
|
||||
time='1h') -> Optional[str]:
|
||||
async def upload(
|
||||
self, file: Union[str, bytes, BufferedReader], time="1h"
|
||||
) -> Optional[str]:
|
||||
"""
|
||||
Upload File to Litterbox
|
||||
|
||||
|
||||
Args:
|
||||
file (Union[str, bytes, BufferedReader]): File to upload (accepts either filepath or io.BufferedReader)
|
||||
time (str): Expiration time, default: 1h
|
||||
@ -59,38 +60,38 @@ class LitterboxAsync:
|
||||
return None
|
||||
if isinstance(file, BufferedReader):
|
||||
file = file.read()
|
||||
|
||||
fileExt: str = 'png'
|
||||
|
||||
fileExt: str = "png"
|
||||
if isinstance(file, str):
|
||||
if file.find(".") > 0:
|
||||
fileExt = "".join(file.split(".")[-1:])
|
||||
|
||||
file = open(file, 'rb').read()
|
||||
|
||||
file = open(file, "rb").read()
|
||||
|
||||
with magic.Magic(flags=magic.MAGIC_MIME) as m:
|
||||
if isinstance(file, BufferedReader):
|
||||
content_type = str(m.id_buffer(file))
|
||||
else:
|
||||
content_type = str(m.id_filename(file))
|
||||
|
||||
content_type = str(m.id_filename(file))
|
||||
|
||||
post_data: FormData = FormData()
|
||||
post_data.add_field(name="reqtype",
|
||||
value="fileupload")
|
||||
post_data.add_field(name="userhash",
|
||||
value="")
|
||||
post_data.add_field(name="time",
|
||||
value=time)
|
||||
|
||||
post_data.add_field(name="fileToUpload",
|
||||
value=file,
|
||||
filename=self.generateRandomFileName(fileExt),
|
||||
content_type=content_type
|
||||
post_data.add_field(name="reqtype", value="fileupload")
|
||||
post_data.add_field(name="userhash", value="")
|
||||
post_data.add_field(name="time", value=time)
|
||||
|
||||
post_data.add_field(
|
||||
name="fileToUpload",
|
||||
value=file,
|
||||
filename=self.generateRandomFileName(fileExt),
|
||||
content_type=content_type,
|
||||
)
|
||||
async with ClientSession() as session:
|
||||
async with await session.post(self.api_path,
|
||||
headers=self.headers,
|
||||
data=post_data,
|
||||
timeout=ClientTimeout(connect=5, sock_read=70)) as request:
|
||||
async with await session.post(
|
||||
self.api_path,
|
||||
headers=self.headers,
|
||||
data=post_data,
|
||||
timeout=ClientTimeout(connect=5, sock_read=70),
|
||||
) as request:
|
||||
request.raise_for_status()
|
||||
return await request.text()
|
||||
except:
|
||||
|
Reference in New Issue
Block a user