Spaces:
Paused
Paused
import asyncio | |
from typing import Union | |
from DragMusic.misc import db | |
from DragMusic.utils.formatters import check_duration, seconds_to_min | |
from config import autoclean, time_to_seconds | |
async def put_queue( | |
chat_id, | |
original_chat_id, | |
file, | |
title, | |
duration, | |
user, | |
vidid, | |
user_id, | |
stream, | |
forceplay: Union[bool, str] = None, | |
): | |
title = title.title() | |
try: | |
duration_in_seconds = time_to_seconds(duration) - 3 | |
except: | |
duration_in_seconds = 0 | |
put = { | |
"title": title, | |
"dur": duration, | |
"streamtype": stream, | |
"by": user, | |
"user_id": user_id, | |
"chat_id": original_chat_id, | |
"file": file, | |
"vidid": vidid, | |
"seconds": duration_in_seconds, | |
"played": 0, | |
} | |
if forceplay: | |
check = db.get(chat_id) | |
if check: | |
check.insert(0, put) | |
else: | |
db[chat_id] = [] | |
db[chat_id].append(put) | |
else: | |
db[chat_id].append(put) | |
autoclean.append(file) | |
async def put_queue_index( | |
chat_id, | |
original_chat_id, | |
file, | |
title, | |
duration, | |
user, | |
vidid, | |
stream, | |
forceplay: Union[bool, str] = None, | |
): | |
if "20.212.146.162" in vidid: | |
try: | |
dur = await asyncio.get_event_loop().run_in_executor( | |
None, check_duration, vidid | |
) | |
duration = seconds_to_min(dur) | |
except: | |
duration = "ᴜʀʟ sᴛʀᴇᴀᴍ" | |
dur = 0 | |
else: | |
dur = 0 | |
put = { | |
"title": title, | |
"dur": duration, | |
"streamtype": stream, | |
"by": user, | |
"chat_id": original_chat_id, | |
"file": file, | |
"vidid": vidid, | |
"seconds": dur, | |
"played": 0, | |
} | |
if forceplay: | |
check = db.get(chat_id) | |
if check: | |
check.insert(0, put) | |
else: | |
db[chat_id] = [] | |
db[chat_id].append(put) | |
else: | |
db[chat_id].append(put) | |