Skip to content

Commit 4492f1d

Browse files
committed
update downloader, bump version
1 parent c725cbd commit 4492f1d

File tree

2 files changed

+33
-28
lines changed

2 files changed

+33
-28
lines changed

app/core.py

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
class internal_func(Ui_MainProgram):
2222
def __init__(self):
2323
super().__init__()
24-
self.logger = default_logger("Downloader")
2524

2625
def error_msg(self, text, msg_details, title="Error", critical=False):
2726
msg = QMessageBox()
@@ -250,49 +249,51 @@ def download_install_thread(data, progress_current, progress_main):
250249
if not os.path.exists(dwnpath):
251250
os.makedirs(dwnpath)
252251
path_lst = {}
253-
d = Pypdl(allow_reuse=True, logger=self.logger)
252+
logger, handler = default_logger("Downloader")
253+
d = Pypdl(allow_reuse=True, logger=logger)
254254
for f_name in final_data:
255255
# Define the remote file to retrieve
256256
remote_url = main_dict[f_name] # {f_name:url}
257257
# Download remote and save locally
258258
path = f"{dwnpath}{f_name}"
259259

260-
def new_url_gen():
261-
urls = asyncio.run(
262-
url_generator(
263-
self.url,
264-
self.ignore_ver,
265-
self.all_dependencies,
266-
self.stop,
267-
progress_current,
268-
progress_main,
269-
emit=False,
270-
)
260+
async def new_url_gen():
261+
urls = await url_generator(
262+
self.url,
263+
self.ignore_ver,
264+
self.all_dependencies,
265+
self.stop,
266+
progress_current,
267+
progress_main,
268+
emit=False,
271269
)
270+
272271
return urls[0][f_name]
273272

274-
d.start(
275-
remote_url,
276-
path,
277-
20,
273+
future = d.start(
274+
url=remote_url,
275+
file_path=path,
276+
segments=10,
278277
retries=3,
279-
mirror_func=new_url_gen,
278+
mirrors=new_url_gen,
280279
block=False,
281280
display=False,
282281
overwrite=False,
283282
)
284283

285284
while not d.completed:
286-
download_percentage = int(d.progress)
285+
download_percentage = int(d.progress) if d.progress else 0
287286
progress_current.emit(download_percentage)
288287
time.sleep(0.1)
289288
if self.stop.is_set(): # check if the stop event is triggered
290-
d.stop()
291289
d.shutdown()
290+
handler.close()
292291
raise Exception("Stoped By User!")
293-
if d.failed:
294-
d.shutdown()
295-
raise Exception("Download Error Occured!")
292+
293+
if len(d.failed) == d.total_task:
294+
d.shutdown()
295+
handler.close()
296+
raise Exception("Download Error Occured!")
296297

297298
progress_main.emit(part)
298299

@@ -302,7 +303,10 @@ def new_url_gen():
302303
else:
303304
path_lst[path] = 0
304305

306+
future.result()
305307
d.shutdown()
308+
309+
handler.close()
306310
return path_lst, uwp # install the apps'
307311

308312
worker = Worker(lambda **kwargs: download_install_thread(arg, **kwargs))

app/utls.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,17 @@
1212
curr_dir = os.path.dirname(os.path.abspath(__file__))
1313

1414

15-
def default_logger(name: str) -> logging.Logger:
15+
def default_logger(name: str):
1616
"""Creates a default debugging logger."""
1717
logger = logging.getLogger(name)
18+
logger.setLevel(logging.ERROR)
1819
handler = logging.FileHandler(f"{curr_dir}/log.txt", mode="a", delay=True)
1920
custom_format = (
20-
f"[{name} logs] \n[%(asctime)s]\n\n %(levelname)s: %(message)s\n{82*"-"}\n"
21+
f"[{name} logs] \n[%(asctime)s]\n\n %(levelname)s: %(message)s\n{82*'-'}\n"
2122
)
2223
handler.setFormatter(logging.Formatter(custom_format, datefmt="%d-%m-%Y %H:%M:%S"))
2324
logger.addHandler(handler)
24-
return logger
25+
return logger, handler
2526

2627

2728
class UrlBox(QDialog):
@@ -278,8 +279,8 @@ def setupUi(self, about):
278279
QtWidgets.QSizePolicy.Policy.Expanding,
279280
)
280281
self.gridLayout.addItem(spacerItem9, 0, 1, 1, 1)
281-
self.label.setText("Alt App Installer 2.6.9")
282-
self.label_2.setText("© 2022 - 2024 Jishnu M")
282+
self.label.setText("Alt App Installer 2.6.10")
283+
self.label_2.setText("© 2022 - 2025 Jishnu M")
283284
urlLink = '<a href="http://github.com/mjishnu/alt-app-installer" style="text-decoration: none; color: black;">github.com/mjishnu/alt-app-installer</a>'
284285
self.label_3.setText(urlLink)
285286
self.setWindowTitle("About")

0 commit comments

Comments
 (0)