From 467d5820953754cbcabcae7d8c34dfac39846b8b Mon Sep 17 00:00:00 2001 From: Lowa Date: Sun, 16 Feb 2025 03:43:34 +0300 Subject: [PATCH] Improve file transfer progress tracking and display - Add dynamic transfer speed calculation - Compute and display estimated remaining transfer time - Enhance remaining bytes display with more informative status - Update transfers table with more detailed transfer progress information --- ComConfigCopy.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ComConfigCopy.py b/ComConfigCopy.py index 0ed0818..4f88a4b 100644 --- a/ComConfigCopy.py +++ b/ComConfigCopy.py @@ -1068,15 +1068,27 @@ class SerialAppGUI(tk.Tk): # Вычисляем прогресс progress = f"{bytes_sent}/{filesize} байт" - remaining = filesize - bytes_sent + remaining_bytes = filesize - bytes_sent elapsed_time = time.time() - start_time + # Вычисляем скорость передачи (байт/сек) + if elapsed_time > 0: + transfer_speed = bytes_sent / elapsed_time + # Вычисляем оставшееся время + if transfer_speed > 0: + remaining_time = remaining_bytes / transfer_speed + remaining_str = f"{remaining_bytes} байт (~{int(remaining_time)}с)" + else: + remaining_str = f"{remaining_bytes} байт (неизвестно)" + else: + remaining_str = f"{remaining_bytes} байт (вычисляется...)" + # Добавляем запись в таблицу self.transfers_tree.insert("", END, values=( f"{client_addr[0]}:{client_addr[1]}", filename, progress, - f"{remaining} байт", + remaining_str, f"{elapsed_time:.1f}с" ))