From d9c6b9692b79d50cf4ffc88e054a4cbdd3559b0f Mon Sep 17 00:00:00 2001 From: levina <82658782+levina-lab@users.noreply.github.com> Date: Sat, 12 Feb 2022 18:33:49 +0700 Subject: [PATCH] [feat] auto rmeove tg downloaded file trash commit [authored] by: @xtaodada --- driver/queues.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) 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: