diff --git a/driver/queues.py b/driver/queues.py index bdd6074..f827887 100644 --- a/driver/queues.py +++ b/driver/queues.py @@ -1,13 +1,31 @@ +from os import remove + QUEUE = {} + +def clean_trash(file_name: str, cid: int, clear_all: bool = False): + for i in QUEUE: + chat_queue = QUEUE[i][1:] if (i == cid and (not clear_all)) else QUEUE[i] + for f in chat_queue: + if f[1] == file_name: + file_name = None + break + if file_name: + try: + remove(file_name) + except FileNotFoundError: + pass + + def add_to_queue(chat_id, songname, link, ref, type, quality): if chat_id in QUEUE: chat_queue = QUEUE[chat_id] chat_queue.append([songname, link, ref, type, quality]) - return int(len(chat_queue)-1) + return int(len(chat_queue) -1) else: QUEUE[chat_id] = [[songname, link, ref, type, quality]] + def get_queue(chat_id): if chat_id in QUEUE: chat_queue = QUEUE[chat_id] @@ -15,6 +33,7 @@ def get_queue(chat_id): else: return 0 + def pop_an_item(chat_id): if chat_id in QUEUE: chat_queue = QUEUE[chat_id] @@ -22,9 +41,13 @@ def pop_an_item(chat_id): return 1 else: return 0 - + + def clear_queue(chat_id): if chat_id in QUEUE: + for i in QUEUE[chat_id]: + if "t.me" in i[2]: + clean_trash(i[1], chat_id, True) QUEUE.pop(chat_id) return 1 else: