up fix to sitenotimplementedexception

This commit is contained in:
nikili0n 2023-09-26 00:01:09 +03:00 committed by Dantenerosas
parent 89398ae5d1
commit d7b82e3184
3 changed files with 29 additions and 5 deletions

View File

@ -78,6 +78,7 @@ class MasterService:
parser_mapping = {
"my.mail.ru": MyMailParser(params),
"www.youtube.com": BaseParser(params),
"youtu.be": BaseParser(params),
"vk.com": BaseParser(params),
"ok.ru": BaseParser(params),
"likee.video": BaseParser(params),
@ -98,13 +99,18 @@ class MasterService:
"status": "done"
})
except FileAlreadyExistException as ex:
# TODO: сделать так, чтобы грузился обычный, нам не нужно записывать что-то в редис
return Result(result_type=ResultTypeEnum.EXIST, value={
"link": video_params["link"],
"result": ex.message,
"status": "exist"
})
except SiteNotImplementedException as ex:
return Result(result_type=ResultTypeEnum.EXCEPTION, value=ex.default_message)
return Result(result_type=ResultTypeEnum.EXCEPTION, value={
"link": video_params["link"],
"result": ex.default_message,
"status": "error"
})
# TODO upload to server

View File

@ -7,6 +7,8 @@ class RedisClient:
SET_NAME = "queue"
TASKS_NAME = "tasks_working"
TASKS_DONE_NAME = "tasks_done"
# TODO: переписать всё вазимодействие редиса обратно на ключ-значение
def __init__(self):
self.connection = redis.Redis(host="localhost", port=6379, db=0)

View File

@ -45,13 +45,29 @@ app.add_middleware(
TypeError: string indices must be integers
'''
'''
queue_name -> [
"{link...}",
"{link2...}",
"{link3..}"
]
queue_name -> {
"link1" -> {vars},
"link2" -> {vars},
"link3" -> {vars},
}
'''
async def is_task_already_done_or_exist(redis: RedisClient, link: str):
messages = await redis.get_task_done_queue()
temp = [json.loads(msg) for msg in messages]
print(temp)
tasks = [
literal_eval(message.decode('utf-8')) for message in messages
if literal_eval(message.decode('utf-8'))["link"] == link
and literal_eval(message.decode('utf-8'))["status"] in ["done", "exist"]
msg for msg in temp
if msg["link"] == link
and msg["status"] in ["done", "exist"]
]
if len(tasks) > 0: