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
This commit is contained in:
@@ -1068,15 +1068,27 @@ class SerialAppGUI(tk.Tk):
|
|||||||
|
|
||||||
# Вычисляем прогресс
|
# Вычисляем прогресс
|
||||||
progress = f"{bytes_sent}/{filesize} байт"
|
progress = f"{bytes_sent}/{filesize} байт"
|
||||||
remaining = filesize - bytes_sent
|
remaining_bytes = filesize - bytes_sent
|
||||||
elapsed_time = time.time() - start_time
|
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=(
|
self.transfers_tree.insert("", END, values=(
|
||||||
f"{client_addr[0]}:{client_addr[1]}",
|
f"{client_addr[0]}:{client_addr[1]}",
|
||||||
filename,
|
filename,
|
||||||
progress,
|
progress,
|
||||||
f"{remaining} байт",
|
remaining_str,
|
||||||
f"{elapsed_time:.1f}с"
|
f"{elapsed_time:.1f}с"
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user