Improved tmp files system
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from typing import Any, Union
|
||||
from typing import Any, Literal, Union
|
||||
from uuid import uuid1
|
||||
from requests import get
|
||||
from pyrogram.enums.chat_type import ChatType
|
||||
from pyrogram.types import User
|
||||
@@ -8,7 +9,7 @@ from ujson import JSONDecodeError as JSONDecodeError
|
||||
from ujson import loads, dumps
|
||||
|
||||
from sys import exit
|
||||
from os import kill, listdir, sep
|
||||
from os import kill, listdir, makedirs, path, sep
|
||||
from os import name as osname
|
||||
from traceback import print_exc
|
||||
from classes.errors.geo import PlaceNotFoundError
|
||||
@@ -191,6 +192,25 @@ def find_location(query: str) -> dict:
|
||||
except (ValueError, KeyError, IndexError):
|
||||
raise PlaceNotFoundError(query)
|
||||
|
||||
def create_tmp(bytedata: Union[bytes, bytearray], kind: Union[Literal["image", "video"], None]) -> str:
|
||||
filename = str(uuid1())
|
||||
if kind == "image":
|
||||
filename += ".jpg"
|
||||
elif kind == "video":
|
||||
filename += ".mp4"
|
||||
makedirs("tmp", exist_ok=True)
|
||||
with open(path.join("tmp", filename), "wb") as file:
|
||||
file.write(bytedata)
|
||||
return path.join("tmp", filename)
|
||||
|
||||
async def download_tmp(app: Client, file_id: str) -> bytes:
|
||||
filename = str(uuid1())
|
||||
makedirs("tmp", exist_ok=True)
|
||||
await app.download_media(file_id, path.join("tmp", filename))
|
||||
with open(path.join("tmp", filename), "rb") as f:
|
||||
bytedata = f.read()
|
||||
return bytedata
|
||||
|
||||
try:
|
||||
from psutil import Process
|
||||
except ModuleNotFoundError:
|
||||
|
Reference in New Issue
Block a user