better
This commit is contained in:
parent
59fc1a9d00
commit
7bfb38e16c
3 changed files with 293 additions and 9 deletions
176
logs/app.log
176
logs/app.log
|
|
@ -19415,3 +19415,179 @@
|
|||
2025-07-25 09:31:36 - newmusic.main - [92mINFO[0m - change_page:163 - Changed to page: sync
|
||||
2025-07-25 09:31:36 - newmusic.spotify_client - [92mINFO[0m - _ensure_user_id:195 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-25 09:31:36 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists_metadata_only:256 - Retrieved 8 playlist metadata (first batch)
|
||||
2025-07-25 09:36:37 - newmusic.main - [92mINFO[0m - closeEvent:176 - Closing application...
|
||||
2025-07-25 09:36:37 - newmusic.main - [92mINFO[0m - closeEvent:181 - Cleaning up Downloads page threads...
|
||||
2025-07-25 09:36:37 - newmusic.main - [92mINFO[0m - closeEvent:186 - Stopping status monitoring thread...
|
||||
2025-07-25 09:36:37 - newmusic.main - [92mINFO[0m - closeEvent:191 - Closing Soulseek client...
|
||||
2025-07-25 09:36:37 - newmusic.main - [92mINFO[0m - closeEvent:197 - Application closed successfully
|
||||
2025-07-25 09:36:43 - newmusic - [92mINFO[0m - setup_logging:57 - Logging initialized with level: DEBUG
|
||||
2025-07-25 09:36:43 - newmusic.main - [92mINFO[0m - main:211 - Starting NewMusic application
|
||||
2025-07-25 09:36:43 - newmusic.spotify_client - [92mINFO[0m - _setup_client:179 - Spotify client initialized (user info will be fetched when needed)
|
||||
2025-07-25 09:36:43 - newmusic.soulseek_client - [92mINFO[0m - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030
|
||||
2025-07-25 09:36:43 - newmusic.spotify_client - [92mINFO[0m - _setup_client:179 - Spotify client initialized (user info will be fetched when needed)
|
||||
2025-07-25 09:36:43 - newmusic.main - [92mINFO[0m - change_page:163 - Changed to page: dashboard
|
||||
2025-07-25 09:36:43 - newmusic.main - [92mINFO[0m - setup_media_player_connections:150 - Media player connections established between sidebar and downloads page
|
||||
2025-07-25 09:36:44 - newmusic.plex_client - [92mINFO[0m - _find_music_library:127 - Found music library: Music
|
||||
2025-07-25 09:36:44 - newmusic.plex_client - [92mINFO[0m - _setup_client:113 - Successfully connected to Plex server: PLEX-MACHINE
|
||||
2025-07-25 09:37:00 - newmusic.main - [92mINFO[0m - change_page:163 - Changed to page: sync
|
||||
2025-07-25 09:37:00 - newmusic.spotify_client - [92mINFO[0m - _ensure_user_id:195 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-25 09:37:00 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists_metadata_only:256 - Retrieved 8 playlist metadata (first batch)
|
||||
2025-07-25 09:37:08 - newmusic.sync_service - [92mINFO[0m - sync_playlist:94 - Starting sync for playlist: Failed test
|
||||
2025-07-25 09:37:08 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:08 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:08 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'virtual mage signalsfromspace'
|
||||
2025-07-25 09:37:08 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'signalsfromspace'
|
||||
2025-07-25 09:37:09 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:09 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:09 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'virtual mage signals from space'
|
||||
2025-07-25 09:37:10 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'signals from space'
|
||||
2025-07-25 09:37:11 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:272 - No artist-based matches found. Using title-only fallback for 'Signals from Space'
|
||||
2025-07-25 09:37:11 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'signalsfromspace'
|
||||
2025-07-25 09:37:11 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'signalsfromspace'
|
||||
2025-07-25 09:37:12 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'signals from space'
|
||||
2025-07-25 09:37:13 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'signals from space'
|
||||
2025-07-25 09:37:13 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:290 - No Plex candidates found for 'Signals from Space'
|
||||
2025-07-25 09:37:13 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:13 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:13 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'virtual mage zztlyksyrnqryss'
|
||||
2025-07-25 09:37:14 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'zztlyksyrnqryss'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 1 candidates.
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [92mINFO[0m - search_tracks:344 - Found 1 candidates in Stage 1. Exiting early.
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:350 - Stored original track reference for 'Zztlyk Syrn Qryss' (ratingKey: 539056)
|
||||
2025-07-25 09:37:15 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'Zztlyk Syrn Qryss'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 1 candidates.
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [92mINFO[0m - search_tracks:344 - Found 1 candidates in Stage 1. Exiting early.
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:350 - Stored original track reference for 'Jyxkra' (ratingKey: 539057)
|
||||
2025-07-25 09:37:15 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'Jyxkra'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'virtual mage ktalvysh'
|
||||
2025-07-25 09:37:15 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'ktalvysh'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 1 candidates.
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [92mINFO[0m - search_tracks:344 - Found 1 candidates in Stage 1. Exiting early.
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:350 - Stored original track reference for 'Ktal Vysh' (ratingKey: 539058)
|
||||
2025-07-25 09:37:16 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'Ktal Vysh'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 1 candidates.
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [92mINFO[0m - search_tracks:344 - Found 1 candidates in Stage 1. Exiting early.
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:350 - Stored original track reference for 'Fluxx' (ratingKey: 539059)
|
||||
2025-07-25 09:37:16 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'Fluxx'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:16 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'virtual mage vwrntlyx'
|
||||
2025-07-25 09:37:17 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'vwrntlyx'
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'virtual mage'
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 1 candidates.
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [92mINFO[0m - search_tracks:344 - Found 1 candidates in Stage 1. Exiting early.
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:350 - Stored original track reference for 'Vwrn Tlyx' (ratingKey: 539060)
|
||||
2025-07-25 09:37:18 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'Vwrn Tlyx'
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'kendrick lamar'
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'kendrick lamar superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:18 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:19 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'kendrick lamar'
|
||||
2025-07-25 09:37:19 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:19 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'kendrick lamar super bowl lix halftime show'
|
||||
2025-07-25 09:37:20 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'super bowl lix halftime show'
|
||||
2025-07-25 09:37:21 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'nfl'
|
||||
2025-07-25 09:37:21 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'nfl superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:21 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:22 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'nfl'
|
||||
2025-07-25 09:37:22 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'nfl super bowl lix halftime show'
|
||||
2025-07-25 09:37:23 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'super bowl lix halftime show'
|
||||
2025-07-25 09:37:23 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:272 - No artist-based matches found. Using title-only fallback for 'Super Bowl LIX Halftime Show - Live'
|
||||
2025-07-25 09:37:23 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:24 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'superbowllixhalftimeshowlive'
|
||||
2025-07-25 09:37:25 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'super bowl lix halftime show'
|
||||
2025-07-25 09:37:25 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'super bowl lix halftime show'
|
||||
2025-07-25 09:37:26 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:290 - No Plex candidates found for 'Super Bowl LIX Halftime Show - Live'
|
||||
2025-07-25 09:37:26 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'bbno'
|
||||
2025-07-25 09:37:26 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:26 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'bbno 1800'
|
||||
2025-07-25 09:37:27 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for '1800'
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1800 Satan' (ratingKey: 488568)
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1800' (ratingKey: 195875)
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [92mINFO[0m - search_tracks:390 - Found 2 total potential matches for '1800' by 'bbno' after all stages.
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'bbno'
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'bbno 1-800'
|
||||
2025-07-25 09:37:28 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for '1-800'
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800-DIRTY' (ratingKey: 342942)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800MYLOVE' (ratingKey: 446003)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800-273-8255' (ratingKey: 487383)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800-273-8255' (ratingKey: 487532)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Captain Save a Hoe (feat. 1-800-lost)' (ratingKey: 330364)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800-SMD' (ratingKey: 330399)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for '1-800 Nothing' (ratingKey: 327017)
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [92mINFO[0m - search_tracks:390 - Found 7 total potential matches for '1-800' by 'bbno' after all stages.
|
||||
2025-07-25 09:37:29 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for '1-800'
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'bbno'
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:29 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'bbno marypoppins'
|
||||
2025-07-25 09:37:30 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'marypoppins'
|
||||
2025-07-25 09:37:31 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'bbno'
|
||||
2025-07-25 09:37:31 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:31 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'bbno mary poppins'
|
||||
2025-07-25 09:37:31 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'mary poppins'
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Mary Poppins' (ratingKey: 325667)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Introducing Mary Poppins' (ratingKey: 143885)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'A Cover Is Not the Book' (ratingKey: 143886)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Nowhere to Go But Up' (ratingKey: 143892)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Theme from Mary Poppins Returns' (ratingKey: 143894)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Mary Poppins Arrives' (ratingKey: 143896)
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [92mINFO[0m - search_tracks:390 - Found 6 total potential matches for 'mary poppins' by 'bbno' after all stages.
|
||||
2025-07-25 09:37:32 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'mary poppins'
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:332 - Stage 1: Searching for artist 'bbno'
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:340 - Stage 1 found 0 candidates.
|
||||
2025-07-25 09:37:32 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:357 - Stage 2: Performing keyword search for 'bbno boom'
|
||||
2025-07-25 09:37:33 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:375 - Stage 3: Performing title-only search for 'boom'
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'BOOM' (ratingKey: 258903)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'BOOM (Rap remix)' (ratingKey: 258943)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Boom (Ricky Pedretti Remix)' (ratingKey: 285354)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Boom (Original Mix)' (ratingKey: 285339)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'Here Comes The Boom (Original Mix)' (ratingKey: 285349)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'pop ur shit' (ratingKey: 291146)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'dangerous' (ratingKey: 291148)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'née-nah' (ratingKey: 291149)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'just like me' (ratingKey: 291153)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'pop ur shit (nightcore version)' (ratingKey: 291130)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'dangerous (nightcore version)' (ratingKey: 291132)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'née-nah (nightcore version)' (ratingKey: 291133)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'just like me (nightcore version)' (ratingKey: 291137)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'pop ur shit (slowed down)' (ratingKey: 291098)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - search_tracks:385 - Stored original track reference for 'dangerous (slowed down)' (ratingKey: 291100)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [92mINFO[0m - search_tracks:390 - Found 15 total potential matches for 'boom' by 'bbno' after all stages.
|
||||
2025-07-25 09:37:34 - newmusic.sync_service - [94mDEBUG[0m - _find_track_in_plex:263 - Early confident match found for 'boom'
|
||||
2025-07-25 09:37:34 - newmusic.sync_service - [92mINFO[0m - sync_playlist:141 - Found 8 matches out of 10 tracks
|
||||
2025-07-25 09:37:34 - newmusic.sync_service - [92mINFO[0m - sync_playlist:173 - Creating playlist with 8 matched tracks
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [92mINFO[0m - update_playlist:277 - Playlist 'Failed test' not found, creating new one
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Zztlyk Syrn Qryss by Virtual Mage (ratingKey: 539056)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Jyxkra by Virtual Mage (ratingKey: 539057)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Ktal Vysh by Virtual Mage (ratingKey: 539058)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Fluxx by Virtual Mage (ratingKey: 539059)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Vwrn Tlyx by Virtual Mage (ratingKey: 539060)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: 1800 by Snoop Dogg (ratingKey: 195875)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: Mary Poppins by Elènne (ratingKey: 325667)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:198 - Using stored track reference for: BOOM by $ebu (ratingKey: 258903)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [92mINFO[0m - create_playlist:209 - Processed 8 input tracks, resulting in 8 valid Plex tracks for playlist 'Failed test'
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [92mINFO[0m - create_playlist:214 - Final validation: 8 valid tracks with ratingKeys
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:218 - About to create playlist with tracks:
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 1: Zztlyk Syrn Qryss (type: <class 'plexapi.audio.Track'>, ratingKey: 539056)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 2: Jyxkra (type: <class 'plexapi.audio.Track'>, ratingKey: 539057)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 3: Ktal Vysh (type: <class 'plexapi.audio.Track'>, ratingKey: 539058)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 4: Fluxx (type: <class 'plexapi.audio.Track'>, ratingKey: 539059)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 5: Vwrn Tlyx (type: <class 'plexapi.audio.Track'>, ratingKey: 539060)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 6: 1800 (type: <class 'plexapi.audio.Track'>, ratingKey: 195875)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 7: Mary Poppins (type: <class 'plexapi.audio.Track'>, ratingKey: 325667)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [94mDEBUG[0m - create_playlist:220 - Track 8: BOOM (type: <class 'plexapi.audio.Track'>, ratingKey: 258903)
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [91mERROR[0m - create_playlist:227 - CreatePlaylist failed: Must include items to add when creating new playlist.
|
||||
2025-07-25 09:37:34 - newmusic.plex_client - [92mINFO[0m - create_playlist:231 - Created playlist 'Failed test' with 8 tracks (using items parameter)
|
||||
2025-07-25 09:37:34 - newmusic.sync_service - [92mINFO[0m - sync_playlist:196 - Sync completed: 80.0% success rate
|
||||
2025-07-25 09:37:48 - newmusic.main - [92mINFO[0m - closeEvent:176 - Closing application...
|
||||
2025-07-25 09:37:48 - newmusic.main - [92mINFO[0m - closeEvent:181 - Cleaning up Downloads page threads...
|
||||
2025-07-25 09:37:48 - newmusic.main - [92mINFO[0m - closeEvent:186 - Stopping status monitoring thread...
|
||||
2025-07-25 09:37:50 - newmusic.main - [92mINFO[0m - closeEvent:191 - Closing Soulseek client...
|
||||
2025-07-25 09:37:50 - newmusic.main - [92mINFO[0m - closeEvent:197 - Application closed successfully
|
||||
|
|
|
|||
Binary file not shown.
126
ui/pages/sync.py
126
ui/pages/sync.py
|
|
@ -1952,7 +1952,8 @@ class SyncPage(QWidget):
|
|||
self.track_cache = {} # playlist_id -> tracks
|
||||
|
||||
# Sync worker management
|
||||
self.active_sync_workers = {} # playlist_id -> SyncWorker
|
||||
self.active_sync_workers = {} # playlist_id -> SyncWorker (for individual modal syncs)
|
||||
self.sequential_sync_worker = None # Current sequential sync worker
|
||||
|
||||
# Selection tracking
|
||||
self.selected_playlists = set() # Set of selected playlist IDs
|
||||
|
|
@ -2024,6 +2025,46 @@ class SyncPage(QWidget):
|
|||
|
||||
return True
|
||||
|
||||
def start_sequential_playlist_sync(self, playlist):
|
||||
"""Start sync for a playlist as part of sequential sync (separate from individual syncs)"""
|
||||
# Create sync service if not available
|
||||
if not hasattr(self, 'sync_service'):
|
||||
from services.sync_service import PlaylistSyncService
|
||||
self.sync_service = PlaylistSyncService(
|
||||
self.spotify_client,
|
||||
self.plex_client,
|
||||
self.soulseek_client
|
||||
)
|
||||
|
||||
# Create sync worker for sequential sync
|
||||
sync_worker = SyncWorker(
|
||||
playlist=playlist,
|
||||
sync_service=self.sync_service
|
||||
)
|
||||
|
||||
# Connect worker signals for sequential sync
|
||||
sync_worker.signals.finished.connect(lambda result: self.on_sequential_sync_finished(playlist.id, result))
|
||||
sync_worker.signals.error.connect(lambda error: self.on_sequential_sync_error(playlist.id, error))
|
||||
sync_worker.signals.progress.connect(lambda progress: self.on_sync_progress(playlist.id, progress))
|
||||
|
||||
# Store the sequential sync worker
|
||||
self.sequential_sync_worker = sync_worker
|
||||
|
||||
# Start the worker
|
||||
self.thread_pool.start(sync_worker)
|
||||
|
||||
# Update playlist item status
|
||||
playlist_item = self.find_playlist_item_widget(playlist.id)
|
||||
if playlist_item:
|
||||
playlist_item.is_syncing = True
|
||||
playlist_item.update_sync_status(len(playlist.tracks), 0, 0)
|
||||
|
||||
# Log start
|
||||
if hasattr(self, 'log_area'):
|
||||
self.log_area.append(f"🔄 Starting sequential sync for playlist: {playlist.name}")
|
||||
|
||||
return True
|
||||
|
||||
def toggle_playlist_selection(self, playlist_id):
|
||||
"""Toggle selection state of a playlist"""
|
||||
if playlist_id in self.selected_playlists:
|
||||
|
|
@ -2040,15 +2081,15 @@ class SyncPage(QWidget):
|
|||
"""Update the selection info label and button state"""
|
||||
selected_count = len(self.selected_playlists)
|
||||
|
||||
print(f"Updating UI with {selected_count} selected playlists, sequential syncing: {self.is_sequential_syncing}")
|
||||
print(f"Updating UI with {selected_count} selected playlists, sequential syncing: {self.is_sequential_syncing}, individual syncs: {len(self.active_sync_workers)}")
|
||||
|
||||
if selected_count == 0:
|
||||
self.selection_info.setText("Select playlists to sync")
|
||||
self.start_sync_btn.setEnabled(False)
|
||||
print("Button disabled - no selection")
|
||||
elif self.is_sequential_syncing:
|
||||
# Don't change button state during sequential sync
|
||||
print(f"Sequential sync in progress - keeping button as is")
|
||||
elif self.has_active_operations():
|
||||
# Don't change button state during any active operations
|
||||
print(f"Active operations in progress - keeping button as is")
|
||||
elif selected_count == 1:
|
||||
self.selection_info.setText("1 playlist selected")
|
||||
self.start_sync_btn.setEnabled(True)
|
||||
|
|
@ -2063,6 +2104,11 @@ class SyncPage(QWidget):
|
|||
if not self.selected_playlists or self.is_sequential_syncing:
|
||||
return
|
||||
|
||||
# Don't allow sequential sync if individual syncs are already running
|
||||
if self.active_sync_workers:
|
||||
print(f"DEBUG: Cannot start sequential sync - {len(self.active_sync_workers)} individual syncs are running")
|
||||
return
|
||||
|
||||
# Get selected playlist objects
|
||||
selected_playlist_objects = []
|
||||
for playlist_item in self.get_all_playlist_items():
|
||||
|
|
@ -2098,9 +2144,9 @@ class SyncPage(QWidget):
|
|||
next_playlist = self.sequential_sync_queue.pop(0)
|
||||
print(f"DEBUG: Starting sync for next playlist: {next_playlist.name}")
|
||||
|
||||
# Start sync for this playlist
|
||||
success = self.start_playlist_sync(next_playlist)
|
||||
print(f"DEBUG: start_playlist_sync returned: {success}")
|
||||
# Start sync for this playlist using dedicated sequential sync method
|
||||
success = self.start_sequential_playlist_sync(next_playlist)
|
||||
print(f"DEBUG: start_sequential_playlist_sync returned: {success}")
|
||||
if not success:
|
||||
# If sync failed to start, move to next
|
||||
print("DEBUG: Sync failed to start, moving to next playlist")
|
||||
|
|
@ -2117,6 +2163,68 @@ class SyncPage(QWidget):
|
|||
# Update refresh button state since sequential sync is complete
|
||||
self.update_refresh_button_state()
|
||||
|
||||
def on_sequential_sync_finished(self, playlist_id, result):
|
||||
"""Handle completion of individual playlist in sequential sync"""
|
||||
print(f"DEBUG: Sequential sync finished for playlist {playlist_id}")
|
||||
|
||||
# Clear sequential sync worker
|
||||
self.sequential_sync_worker = None
|
||||
|
||||
# Update playlist item status
|
||||
playlist_item = self.find_playlist_item_widget(playlist_id)
|
||||
if playlist_item:
|
||||
playlist_item.is_syncing = False
|
||||
playlist_item.update_sync_status(
|
||||
result.total_tracks,
|
||||
result.matched_tracks,
|
||||
result.failed_tracks
|
||||
)
|
||||
|
||||
# Hide status widget after completion with delay
|
||||
QTimer.singleShot(3000, lambda: playlist_item.sync_status_widget.hide() if playlist_item.sync_status_widget else None)
|
||||
|
||||
# Update any open modals
|
||||
self.update_open_modals_completion(playlist_id, result)
|
||||
|
||||
# Continue sequential sync to next playlist
|
||||
if self.is_sequential_syncing:
|
||||
print(f"DEBUG: Sequential sync continuing to next playlist")
|
||||
self.process_next_in_sync_queue()
|
||||
|
||||
# Log completion
|
||||
if hasattr(self, 'log_area'):
|
||||
success_rate = result.success_rate
|
||||
msg = f"✅ Sequential sync complete: {result.synced_tracks}/{result.total_tracks} tracks synced ({success_rate:.1f}%)"
|
||||
if result.failed_tracks > 0:
|
||||
msg += f", {result.failed_tracks} failed"
|
||||
self.log_area.append(msg)
|
||||
|
||||
def on_sequential_sync_error(self, playlist_id, error_msg):
|
||||
"""Handle error in individual playlist during sequential sync"""
|
||||
print(f"DEBUG: Sequential sync error for playlist {playlist_id}: {error_msg}")
|
||||
|
||||
# Clear sequential sync worker
|
||||
self.sequential_sync_worker = None
|
||||
|
||||
# Update playlist item status
|
||||
playlist_item = self.find_playlist_item_widget(playlist_id)
|
||||
if playlist_item:
|
||||
playlist_item.is_syncing = False
|
||||
if playlist_item.sync_status_widget:
|
||||
playlist_item.sync_status_widget.hide()
|
||||
|
||||
# Update any open modals
|
||||
self.update_open_modals_error(playlist_id, error_msg)
|
||||
|
||||
# Continue sequential sync even on error
|
||||
if self.is_sequential_syncing:
|
||||
print(f"DEBUG: Sequential sync continuing to next playlist despite error")
|
||||
self.process_next_in_sync_queue()
|
||||
|
||||
# Log error
|
||||
if hasattr(self, 'log_area'):
|
||||
self.log_area.append(f"❌ Sequential sync failed: {error_msg}")
|
||||
|
||||
def get_all_playlist_items(self):
|
||||
"""Get all PlaylistItem widgets from the playlist layout"""
|
||||
playlist_items = []
|
||||
|
|
@ -2815,7 +2923,7 @@ class SyncPage(QWidget):
|
|||
"""Check if any sync or download operations are currently active"""
|
||||
has_downloads = bool(self.active_download_processes)
|
||||
has_individual_syncs = bool(self.active_sync_workers)
|
||||
has_sequential_sync = self.is_sequential_syncing
|
||||
has_sequential_sync = self.is_sequential_syncing or self.sequential_sync_worker is not None
|
||||
|
||||
print(f"DEBUG: Active operations check - downloads: {has_downloads}, individual syncs: {has_individual_syncs}, sequential: {has_sequential_sync}")
|
||||
return has_downloads or has_individual_syncs or has_sequential_sync
|
||||
|
|
|
|||
Loading…
Reference in a new issue