diff --git a/bot/helper/bot_utils.py b/bot/helper/bot_utils.py
index 0bf776d..7e6f3fd 100644
--- a/bot/helper/bot_utils.py
+++ b/bot/helper/bot_utils.py
@@ -1,9 +1,10 @@
-import math
from bot import download_dict
+from bot.helper.download_status import DownloadStatus
-PROGRESS_MAX_SIZE = math.floor(100 / 8)
+PROGRESS_MAX_SIZE = 100 // 8
PROGRESS_INCOMPLETE = ['▏', '▎', '▍', '▌', '▋', '▊', '▉']
+
def get_download(message_id):
return download_dict[message_id].download()
@@ -12,25 +13,21 @@ def get_download_status_list():
return list(download_dict.values())
-def get_progress(status):
+def get_progress_bar_string(status: DownloadStatus):
completed = status.download().completed_length/8
total = status.download().total_length/8
if total == 0:
- p = 0
+ p = 0
else:
- try:
p = round(completed * 100 / total)
- except ZeroDivisionError:
- pass
p = min(max(p, 0), 100)
- p_str = '['
- cFull = math.floor(p / 8)
+ cFull = p // 8
cPart = p % 8 - 1
- p_str += '█'*cFull
+ p_str = '█'*cFull
if cPart >= 0:
p_str += PROGRESS_INCOMPLETE[cPart]
p_str += ' '*(PROGRESS_MAX_SIZE - cFull)
- p_str = f"{p_str}]"
+ p_str = f"[{p_str}]"
return p_str
@@ -50,14 +47,16 @@ def get_download_str():
def get_readable_message(progress_list: list = download_dict.values()):
- msg = ""
+ msg = ''
for status in progress_list:
msg += f'Name: {status.name()}\n' \
f'status: {status.status()}\n'
- if status.status() == "Downloading":
- msg += f'{get_progress(status)} {status.progress()} of {status.size()}\n' \
- f'Speed: {status.speed()}\n' \
- f'ETA: {status.eta()}\n\n'
+
+ if status.status() == DownloadStatus.STATUS_DOWNLOADING:
+ msg += f'{get_progress_bar_string(status)} {status.progress()} of {status.size()}\n' \
+ f'Speed: {status.speed()}\n' \
+ f'ETA: {status.eta()}\n'
+ msg += '\n'
return msg