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)