good
This commit is contained in:
parent
d408727002
commit
b05a403343
7 changed files with 1260 additions and 3 deletions
|
|
@ -1 +1 @@
|
|||
{"access_token": "BQDE-nRqhnnvzOYRj8mWSWJ8E1V7QYsSBRnVIS-Q5M0hGvuT0y9-VHhIxY2I8jbZeDitk3H9o3pzb39fc6v7K3oGMXatasuDIKYeeAntzAJxHjTQDg0fXh7HU1pbj3VdpBWa3gO7v5YMYKES9yMpJZ1tihruRhWEGRRoDZWLqyY3o7AyHjOYKOeMSrB1Cg-WPWKndRsnhyILJsVRVNIT8VST-dUHXCOLOB725sfw--lL2DmTCL3mG0rQHmHqPShP", "token_type": "Bearer", "expires_in": 3600, "scope": "user-library-read user-read-private playlist-read-private playlist-read-collaborative user-read-email", "expires_at": 1753726722, "refresh_token": "AQDmfQkPCGObfJeTUIbW1hAAwhSqkuHRA3Qh2dqVYMRh0eCkFMQgPNJDDzF8y-BiaVbj80zePkK_XSfYH1aJutMtNbnsqRKWuxP31BTrMc7pdUdbE7Fma4oH8wpDUKdG3MM"}
|
||||
{"access_token": "BQC40M9fig71EJWU6RTYqUk_84boT_i6nhGUxiGKoyWZRazN-FOX3yBF7LzPm212VtplWBlBPuF7LlkEBlT-p97pHefbHFF3dPAcye9jaP6HfGKBuwN2jPbEg15zNApse5-8nxKczAWce82uIeDodDUdMX7yWb3z-WzudBcSVTPXGprTcl1dEAOMb3TvOSBbY_9rlAPbMYWIImpWZdurccTf_ElrwNtjwjo3FqGPCy3AoQd0zJTU2rArgvpeYak4", "token_type": "Bearer", "expires_in": 3600, "scope": "user-library-read user-read-private playlist-read-private playlist-read-collaborative user-read-email", "expires_at": 1753733790, "refresh_token": "AQDmfQkPCGObfJeTUIbW1hAAwhSqkuHRA3Qh2dqVYMRh0eCkFMQgPNJDDzF8y-BiaVbj80zePkK_XSfYH1aJutMtNbnsqRKWuxP31BTrMc7pdUdbE7Fma4oH8wpDUKdG3MM"}
|
||||
1235
logs/app.log
1235
logs/app.log
File diff suppressed because it is too large
Load diff
5
main.py
5
main.py
|
|
@ -166,6 +166,11 @@ class MainWindow(QMainWindow):
|
|||
self.dashboard_page.set_page_references(self.downloads_page, self.sync_page)
|
||||
self.dashboard_page.set_app_start_time(self.app_start_time)
|
||||
|
||||
# Connect download completion signal for session tracking
|
||||
self.downloads_page.download_session_completed.connect(
|
||||
self.dashboard_page.data_provider.increment_completed_downloads
|
||||
)
|
||||
|
||||
self.stacked_widget.addWidget(self.dashboard_page)
|
||||
self.stacked_widget.addWidget(self.sync_page)
|
||||
self.stacked_widget.addWidget(self.downloads_page)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -63,6 +63,9 @@ class DashboardDataProvider(QObject):
|
|||
self.download_stats = DownloadStats()
|
||||
self.metadata_progress = MetadataProgress()
|
||||
|
||||
# Session-based counters (reset on app restart)
|
||||
self.session_completed_downloads = 0
|
||||
|
||||
# Update timers with different frequencies
|
||||
self.download_stats_timer = QTimer()
|
||||
self.download_stats_timer.timeout.connect(self.update_download_stats)
|
||||
|
|
@ -86,6 +89,10 @@ class DashboardDataProvider(QObject):
|
|||
def set_app_start_time(self, start_time):
|
||||
self.app_start_time = start_time
|
||||
|
||||
def increment_completed_downloads(self):
|
||||
"""Increment the session completed downloads counter"""
|
||||
self.session_completed_downloads += 1
|
||||
|
||||
def update_service_status(self, service: str, connected: bool, response_time: float = 0.0, error: str = ""):
|
||||
if service in self.service_status:
|
||||
self.service_status[service].connected = connected
|
||||
|
|
@ -108,10 +115,10 @@ class DashboardDataProvider(QObject):
|
|||
total_speed += float(item.download_speed)
|
||||
|
||||
self.download_stats.active_count = active_count
|
||||
self.download_stats.finished_count = finished_count
|
||||
self.download_stats.finished_count = self.session_completed_downloads # Use session counter
|
||||
self.download_stats.total_speed = total_speed
|
||||
|
||||
self.download_stats_updated.emit(active_count, finished_count, total_speed)
|
||||
self.download_stats_updated.emit(active_count, self.session_completed_downloads, total_speed)
|
||||
except Exception as e:
|
||||
pass # Silent failure for stats updates
|
||||
|
||||
|
|
|
|||
|
|
@ -4682,6 +4682,13 @@ class TabbedDownloadManager(QTabWidget):
|
|||
|
||||
self.update_tab_counts()
|
||||
|
||||
# Emit signal for session download tracking
|
||||
parent_page = self.parent()
|
||||
while parent_page and not hasattr(parent_page, 'download_session_completed'):
|
||||
parent_page = parent_page.parent()
|
||||
if parent_page and hasattr(parent_page, 'download_session_completed'):
|
||||
parent_page.download_session_completed.emit()
|
||||
|
||||
# Performance monitoring
|
||||
end_time = time.time()
|
||||
duration_ms = (end_time - start_time) * 1000
|
||||
|
|
@ -4795,6 +4802,9 @@ class DownloadsPage(QWidget):
|
|||
track_loading_finished = pyqtSignal(object) # Track result object when streaming completes
|
||||
track_loading_progress = pyqtSignal(float, object) # Progress percentage (0-100), track result object
|
||||
|
||||
# Signal for dashboard stats tracking
|
||||
download_session_completed = pyqtSignal() # Emitted when a download completes (for session tracking)
|
||||
|
||||
# Signal for clear completed downloads completion (thread-safe communication)
|
||||
clear_completed_finished = pyqtSignal(bool, object) # backend_success, ui_callback
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue