From 98756e728b96abc07747a31fe0fb5105e05d6d73 Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Thu, 10 Jul 2025 14:37:55 -0700 Subject: [PATCH] streaming working but bugged --- logs/app.log | 1203 +++++++++++++++++ .../__pycache__/downloads.cpython-312.pyc | Bin 137915 -> 154664 bytes ui/pages/downloads.py | 492 +++++-- 3 files changed, 1613 insertions(+), 82 deletions(-) diff --git a/logs/app.log b/logs/app.log index d1d5933e..d93b033b 100644 --- a/logs/app.log +++ b/logs/app.log @@ -8359,3 +8359,1206 @@ 2025-07-10 13:47:59 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 2025-07-10 13:47:59 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: [{"username":"buk4","directories":[{"directory":"@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105","fileCount":1,"files":[{"id":"32b6e555-7ce4-4bcf-ba15-65ad6b51b058","username":"buk4","direction":"Download","filename":"@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3","size":8344437,"startOffset":0,"state":"Completed, Succeeded","stateDescription":"Completed, Succeeded","requestedAt":"2025-07-10T20:47:52.2140731","enqueuedAt":"2... 2025-07-10 13:47:59 - newmusic.soulseek_client - DEBUG - get_all_downloads:482 - Parsed 1 downloads from API response +2025-07-10 13:53:06 - newmusic.main - INFO - closeEvent:152 - Closing application... +2025-07-10 13:53:06 - newmusic.main - INFO - closeEvent:157 - Cleaning up Downloads page threads... +2025-07-10 13:53:06 - newmusic.main - INFO - closeEvent:162 - Stopping status monitoring thread... +2025-07-10 13:53:08 - newmusic.main - INFO - closeEvent:167 - Closing Soulseek client... +2025-07-10 13:53:08 - newmusic.main - INFO - closeEvent:173 - Application closed successfully +2025-07-10 14:00:22 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-10 14:00:22 - newmusic.main - INFO - main:187 - Starting NewMusic application +2025-07-10 14:00:23 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-10 14:00:23 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-10 14:00:23 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-10 14:00:23 - newmusic.soulseek_client - INFO - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-10 14:00:24 - newmusic.main - INFO - change_page:139 - Changed to page: dashboard +2025-07-10 14:00:24 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-10 14:00:24 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-10 14:00:27 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-10 14:00:28 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-10 14:00:30 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-10 14:00:30 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-10 14:00:36 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-10 14:00:44 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-10 14:00:54 - newmusic.main - INFO - change_page:139 - Changed to page: downloads +2025-07-10 14:01:12 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'virtual mage' +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"b182ce1f-509e-44aa-9d7b-d0dfa71c9603","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"virtual mage","startedAt":"2025-07-10T21:01:12.5963154Z","state":"InProgress","token":106}... +2025-07-10 14:01:12 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: b182ce1f-509e-44aa-9d7b-d0dfa71c9603 +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:12 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:14 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:01:14 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:14 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:14 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:14 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:16 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:01:16 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:16 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:16 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:16 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:18 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:01:18 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:18 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:18 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:18 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:19 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:01:19 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:19 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:20 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:20 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:21 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:01:21 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:21 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:22 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:22 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:23 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:01:23 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:23 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:23 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:23 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:25 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:01:25 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:25 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:25 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:25 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:27 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:01:27 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:27 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:27 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:27 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:28 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:01:28 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:28 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:29 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:29 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/b182ce1f-509e-44aa-9d7b-d0dfa71c9603/responses +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: [{"fileCount":3,"files":[{"code":1,"extension":"","filename":"@@kflrr\\World of Darkness\\Mage\\Charsheets\\virtual adepts c sheet.pdf","size":119030,"isLocked":false},{"code":1,"extension":"","filename":"@@kflrr\\World of Darkness\\Mage\\Mage - The Ascension\\WW4060 MTA - Tradition Book - Virtual Adepts (1e).pdf","size":33530594,"isLocked":false},{"code":1,"extension":"","filename":"@@kflrr\\World of Darkness\\Mage\\Mage - The Ascension\\WW4660 MTA - Tradition Book - Virtual Adepts (Revised).pd... +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:208 - Processing 25 user responses +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Letham has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User exsanguinidraculae has 2 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User buk4 has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Satani-Vitales has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zeroscan has 2 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Seyti has 10 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KindaRatchet has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User HomotopicCensorship has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nightmare_dronemk12 has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User raspberry2 has 10 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User leonardoclk has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User koalabeer has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User drchzbrgr has 5 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Dax_VR has 10 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User aajzugikamlzcr has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thinkibettergo has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ultravod has 9 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Kaya-Sem has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ruszok has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soulshookt has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User FixxAlish has 1 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User belthane has 3 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User RuuqoHoosk has 346 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ofoijacussa has 0 files +2025-07-10 14:01:30 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Shooby has 6 files +2025-07-10 14:01:30 - newmusic.soulseek_client - INFO - search:288 - Found 431 new results (total: 431) at 15.0s +2025-07-10 14:01:30 - newmusic.soulseek_client - INFO - search:298 - Early termination: Found 431 results, stopping search +2025-07-10 14:01:30 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 431 total results for query: virtual mage +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 (size: 8344437) +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/buk4 +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/buk4 +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:01:57 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:01:58 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:01:58 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:01:58 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 +2025-07-10 14:07:18 - newmusic.main - INFO - closeEvent:152 - Closing application... +2025-07-10 14:07:18 - newmusic.main - INFO - closeEvent:157 - Cleaning up Downloads page threads... +2025-07-10 14:07:18 - newmusic.main - INFO - closeEvent:162 - Stopping status monitoring thread... +2025-07-10 14:07:19 - newmusic.main - INFO - closeEvent:167 - Closing Soulseek client... +2025-07-10 14:07:19 - newmusic.main - INFO - closeEvent:173 - Application closed successfully +2025-07-10 14:19:01 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-10 14:19:01 - newmusic.main - INFO - main:187 - Starting NewMusic application +2025-07-10 14:19:02 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-10 14:19:02 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-10 14:19:02 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-10 14:19:02 - newmusic.soulseek_client - INFO - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-10 14:19:03 - newmusic.main - INFO - change_page:139 - Changed to page: dashboard +2025-07-10 14:19:03 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-10 14:19:03 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-10 14:19:05 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-10 14:19:07 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-10 14:19:07 - newmusic.main - INFO - change_page:139 - Changed to page: downloads +2025-07-10 14:19:08 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-10 14:19:09 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-10 14:19:10 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'virtual mage' +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"aea97723-0cc0-43ac-9fa7-94bf0eb12e4f","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"virtual mage","startedAt":"2025-07-10T21:19:10.9762844Z","state":"InProgress","token":112}... +2025-07-10 14:19:10 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: aea97723-0cc0-43ac-9fa7-94bf0eb12e4f +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:10 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:11 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:11 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:12 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:19:12 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:12 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:13 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:13 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:14 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:19:14 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:14 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:14 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:14 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:14 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-10 14:19:16 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:19:16 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:16 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:16 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:16 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:18 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:19:18 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:18 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:18 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:18 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:19 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:19:19 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:19 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:20 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:20 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:21 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:19:21 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:21 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:21 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:21 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:22 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-10 14:19:23 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:19:23 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:23 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:23 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:23 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:25 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:19:25 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:25 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:25 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:25 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:26 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:19:26 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:26 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:27 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:27 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/aea97723-0cc0-43ac-9fa7-94bf0eb12e4f/responses +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: [{"fileCount":1,"files":[{"bitRate":128,"code":1,"extension":"","filename":"Shared\\Virtual Mage\\Refraction 1191940288\\Virtual Mage - Virtual Mage.mp3","isVariableBitRate":false,"length":154,"size":2476160,"isLocked":false}],"hasFreeUploadSlot":true,"lockedFileCount":0,"lockedFiles":[],"queueLength":3,"token":112,"uploadSpeed":518299,"username":"KindaRatchet"},{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtua... +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:208 - Processing 25 user responses +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KindaRatchet has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zeroscan has 2 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User buk4 has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User drchzbrgr has 5 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User RuuqoHoosk has 346 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User HomotopicCensorship has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Nomadcitizen4 has 6 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User exsanguinidraculae has 2 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Letham has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User raspberry2 has 10 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nightmare_dronemk12 has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User koalabeer has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User aajzugikamlzcr has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User leonardoclk has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ruszok has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Satani-Vitales has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ultravod has 9 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soulshookt has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Kaya-Sem has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Dax_VR has 10 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thinkibettergo has 1 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Seyti has 10 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ofoijacussa has 0 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User belthane has 3 files +2025-07-10 14:19:28 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Shooby has 6 files +2025-07-10 14:19:28 - newmusic.soulseek_client - INFO - search:288 - Found 436 new results (total: 436) at 15.0s +2025-07-10 14:19:28 - newmusic.soulseek_client - INFO - search:298 - Early termination: Found 436 results, stopping search +2025-07-10 14:19:28 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 436 total results for query: virtual mage +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 (size: 8344437) +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/buk4 +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/buk4 +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:19:44 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:19:45 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:19:45 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:19:45 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 (size: 8344437) +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/buk4 +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/buk4 +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': '@@bmlwc\\Soulseek Downloads\\c34wkpcv\\Relaxing Synthwave Top 105\\083 - Virtual Mage - Aether.mp3', 'size': 8344437, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:20:01 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:20:01 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1717 - Virtual Mage - Aether.flac from raspberry2 (size: 22189939) +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1717 - Virtual Mage - Aether.flac', 'size': 22189939, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:20:37 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1717 - Virtual Mage - Aether.flac', 'size': 22189939, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:38 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:20:38 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:20:38 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1717 - Virtual Mage - Aether.flac from raspberry2 +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1723 - Virtual Mage - Comet.flac from raspberry2 (size: 13795263) +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1723 - Virtual Mage - Comet.flac', 'size': 13795263, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:20:49 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1723 - Virtual Mage - Comet.flac', 'size': 13795263, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:20:50 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:20:50 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:20:50 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1723 - Virtual Mage - Comet.flac from raspberry2 +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1727 - Virtual Mage - Orbit Love.flac from raspberry2 (size: 22566763) +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1727 - Virtual Mage - Orbit Love.flac', 'size': 22566763, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1727 - Virtual Mage - Orbit Love.flac', 'size': 22566763, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:21:22 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:21:22 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1727 - Virtual Mage - Orbit Love.flac from raspberry2 +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1736 - Virtual Mage - Astral Chill.flac from raspberry2 (size: 16437947) +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1736 - Virtual Mage - Astral Chill.flac', 'size': 16437947, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:22:36 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1736 - Virtual Mage - Astral Chill.flac', 'size': 16437947, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:22:37 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:22:37 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:22:37 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1736 - Virtual Mage - Astral Chill.flac from raspberry2 +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1741 - Virtual Mage - Sleepy.flac from raspberry2 (size: 16524311) +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1741 - Virtual Mage - Sleepy.flac', 'size': 16524311, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:24:01 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1741 - Virtual Mage - Sleepy.flac', 'size': 16524311, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:24:02 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:24:02 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:24:02 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1741 - Virtual Mage - Sleepy.flac from raspberry2 +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1757 - Virtual Mage - Moondust.flac from raspberry2 (size: 13162488) +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1757 - Virtual Mage - Moondust.flac', 'size': 13162488, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:24:38 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1757 - Virtual Mage - Moondust.flac', 'size': 13162488, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:24:39 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:24:39 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:24:39 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1757 - Virtual Mage - Moondust.flac from raspberry2 +2025-07-10 14:24:58 - newmusic.main - INFO - change_page:139 - Changed to page: sync +2025-07-10 14:24:59 - newmusic.main - INFO - change_page:139 - Changed to page: downloads +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1871 - Virtual Mage - Into the Mirror.flac from raspberry2 (size: 14227218) +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1871 - Virtual Mage - Into the Mirror.flac', 'size': 14227218, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/raspberry2 +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/raspberry2 +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Music*\\_various\\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\\TECHNO_ 3\\1871 - Virtual Mage - Into the Mirror.flac', 'size': 14227218, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:25:54 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:25:54 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Music*\_various\VARIOUS-ARTISTS-XL-TECHNO-PLAYLIST\TECHNO_ 3\1871 - Virtual Mage - Into the Mirror.flac from raspberry2 +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: Unsynced music\Techno\1723 - Virtual Mage - Comet.flac from Dax_VR (size: 13795263) +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': 'Unsynced music\\Techno\\1723 - Virtual Mage - Comet.flac', 'size': 13795263, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/Dax_VR +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/Dax_VR +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:04 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': 'Unsynced music\\Techno\\1723 - Virtual Mage - Comet.flac', 'size': 13795263, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:28:05 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:28:05 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:28:05 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: Unsynced music\Techno\1723 - Virtual Mage - Comet.flac from Dax_VR +2025-07-10 14:28:32 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'kendrick lamar' +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'kendrick lamar', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'kendrick lamar', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"ae2e0fd0-69d4-44a5-a381-48eb66972fdf","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"kendrick lamar","startedAt":"2025-07-10T21:28:32.9596398Z","state":"InProgress","token":162}... +2025-07-10 14:28:32 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: ae2e0fd0-69d4-44a5-a381-48eb66972fdf +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:32 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:33 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:33 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:34 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:28:34 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:34 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:35 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:35 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:36 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:28:36 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:36 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:36 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:36 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:38 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:28:38 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:38 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:38 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:38 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:40 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:28:40 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:40 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:40 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:40 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:41 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:28:41 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:41 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:42 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:42 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:43 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:28:43 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:43 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:43 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:43 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:45 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:28:45 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:45 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:45 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:45 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:47 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:28:47 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:47 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:47 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:47 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:48 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:28:48 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:48 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:49 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:49 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:50 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:28:50 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:50 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:50 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:50 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:52 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 12/20) - elapsed: 16.5s +2025-07-10 14:28:52 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:52 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:52 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:52 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:54 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 13/20) - elapsed: 18.0s +2025-07-10 14:28:54 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:54 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:54 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:54 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:55 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 14/20) - elapsed: 19.5s +2025-07-10 14:28:55 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:55 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:56 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:56 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:57 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 15/20) - elapsed: 21.0s +2025-07-10 14:28:57 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:57 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:57 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:57 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:28:59 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 16/20) - elapsed: 22.5s +2025-07-10 14:28:59 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:28:59 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:28:59 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:28:59 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:01 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 17/20) - elapsed: 24.0s +2025-07-10 14:29:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:29:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:01 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:01 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:03 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 18/20) - elapsed: 25.5s +2025-07-10 14:29:03 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:29:03 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:03 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:03 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:04 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 19/20) - elapsed: 27.0s +2025-07-10 14:29:04 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:29:04 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:05 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:05 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:06 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 20/20) - elapsed: 28.5s +2025-07-10 14:29:06 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ae2e0fd0-69d4-44a5-a381-48eb66972fdf/responses +2025-07-10 14:29:06 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:06 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:06 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:06 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 0 total results for query: kendrick lamar +2025-07-10 14:29:50 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'kendrick lamar not like us' +2025-07-10 14:29:50 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'kendrick lamar not like us', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:29:50 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:29:50 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:29:50 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:50 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'kendrick lamar not like us', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"d4658710-5a54-4182-a2ad-ad1f95385aac","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"kendrick lamar not like us","startedAt":"2025-07-10T21:29:51.2389973Z","state":"InProgress","token":163}... +2025-07-10 14:29:51 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: d4658710-5a54-4182-a2ad-ad1f95385aac +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:51 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:53 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:29:53 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:29:53 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:53 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:53 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:54 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:29:54 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:29:54 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:55 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:55 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:56 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:29:56 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:29:56 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:56 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:56 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:29:58 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:29:58 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:29:58 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:29:58 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:29:58 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:00 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:30:00 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:00 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:00 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:00 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:01 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:30:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:02 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:02 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:03 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:30:03 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:03 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:03 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:03 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:05 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:30:05 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:05 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:05 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:05 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:07 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:30:07 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:07 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:07 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:07 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:08 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:30:08 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:08 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:09 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:09 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:10 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 12/20) - elapsed: 16.5s +2025-07-10 14:30:10 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:10 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:10 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:10 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:12 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 13/20) - elapsed: 18.0s +2025-07-10 14:30:12 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:12 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:12 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:12 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:14 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 14/20) - elapsed: 19.5s +2025-07-10 14:30:14 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:14 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:14 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:14 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:16 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 15/20) - elapsed: 21.0s +2025-07-10 14:30:16 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:16 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:16 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:16 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:17 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 16/20) - elapsed: 22.5s +2025-07-10 14:30:17 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:17 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:18 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:18 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:19 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 17/20) - elapsed: 24.0s +2025-07-10 14:30:19 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:19 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:19 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:19 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:21 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 18/20) - elapsed: 25.5s +2025-07-10 14:30:21 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:21 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:21 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:21 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:23 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 19/20) - elapsed: 27.0s +2025-07-10 14:30:23 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:23 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:23 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:23 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:24 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 20/20) - elapsed: 28.5s +2025-07-10 14:30:24 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d4658710-5a54-4182-a2ad-ad1f95385aac/responses +2025-07-10 14:30:24 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:30:25 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:30:25 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:30:25 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 0 total results for query: kendrick lamar not like us +2025-07-10 14:31:39 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'kendrick lamar not like us flac' +2025-07-10 14:31:39 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'kendrick lamar not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:31:39 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:31:39 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:31:39 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:39 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'kendrick lamar not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"776f2986-10b0-4005-b456-f9523a96eb14","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"kendrick lamar not like us flac","startedAt":"2025-07-10T21:31:40.0329162Z","state":"InProgress","token":166}... +2025-07-10 14:31:40 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: 776f2986-10b0-4005-b456-f9523a96eb14 +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:40 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:41 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:31:41 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:41 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:42 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:42 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:43 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:31:43 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:43 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:43 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:43 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:45 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:31:45 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:45 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:45 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:45 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:47 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:31:47 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:47 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:47 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:47 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:48 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:31:48 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:48 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:49 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:49 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:50 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:31:50 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:50 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:50 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:50 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:52 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:31:52 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:52 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:52 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:52 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:54 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:31:54 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:54 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:54 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:54 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:55 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:31:55 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:55 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:56 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:56 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:57 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:31:57 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:57 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:58 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:58 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:31:59 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 12/20) - elapsed: 16.5s +2025-07-10 14:31:59 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:31:59 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:31:59 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:31:59 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:01 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 13/20) - elapsed: 18.0s +2025-07-10 14:32:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:01 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:01 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:03 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 14/20) - elapsed: 19.5s +2025-07-10 14:32:03 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:03 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:03 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:03 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:04 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 15/20) - elapsed: 21.0s +2025-07-10 14:32:04 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:04 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:05 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:05 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:06 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 16/20) - elapsed: 22.5s +2025-07-10 14:32:06 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:06 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:06 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:06 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:08 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 17/20) - elapsed: 24.0s +2025-07-10 14:32:08 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:08 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:08 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:08 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:10 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 18/20) - elapsed: 25.5s +2025-07-10 14:32:10 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:10 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:10 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:10 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:11 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 19/20) - elapsed: 27.0s +2025-07-10 14:32:11 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:11 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:12 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:12 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 20/20) - elapsed: 28.5s +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/776f2986-10b0-4005-b456-f9523a96eb14/responses +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:13 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 0 total results for query: kendrick lamar not like us flac +2025-07-10 14:32:13 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'not like us flac' +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:13 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:32:26 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-10 14:32:26 - newmusic.main - INFO - main:187 - Starting NewMusic application +2025-07-10 14:32:26 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-10 14:32:26 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-10 14:32:26 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-10 14:32:26 - newmusic.soulseek_client - INFO - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-10 14:32:27 - newmusic.main - INFO - change_page:139 - Changed to page: dashboard +2025-07-10 14:32:27 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-10 14:32:27 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-10 14:32:28 - newmusic.main - INFO - change_page:139 - Changed to page: downloads +2025-07-10 14:32:30 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-10 14:32:31 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-10 14:32:31 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'not like us flac' +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"8fd48e9a-9a6c-4ada-95d7-376845fbcdb3","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"not like us flac","startedAt":"2025-07-10T21:32:31.6384018Z","state":"InProgress","token":167}... +2025-07-10 14:32:31 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: 8fd48e9a-9a6c-4ada-95d7-376845fbcdb3 +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/8fd48e9a-9a6c-4ada-95d7-376845fbcdb3/responses +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:31 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:32:32 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-10 14:32:33 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/8fd48e9a-9a6c-4ada-95d7-376845fbcdb3/responses +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:208 - Processing 250 user responses +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pookie_seeks has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User MrSlippyfist has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Hangfire has 11 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User AntStark has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ryzenarson has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jeskola333 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User adrtron has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User diddums has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Jameson12 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cptblack has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User krb80 has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User numSkull31 has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dreem has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User vinylden has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User debar has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User bunnygirl04 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User legodt has 40 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DJPastaAlfredo has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User timmorgan1936 has 10 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CleanupCrew has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User biygas1 has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Shyralei has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User rothko has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User poonee has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User gandr003 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Jansten has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User joemoma has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User camuskys has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User emayess has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dft has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User intjonathan has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User SpaceSofa has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User 10010 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User M3H9Y has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ctrnand has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Turmoil has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User GodofBug_ has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User wonky86 has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User MiksNSnorty has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Depravity has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zecho has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User archivej has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User clownpatrol6666 has 17 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ConsciousQuarks has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User alohaninja has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User godman20oo has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mazinkaiser has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cyman has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User arid has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DashProcessor has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User arborgirl has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User WithYouInRockland2 has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Pez has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Psybinary has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User telah has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User wewoo has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soleseik has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Droogsdontrun has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Manzza_Alt has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User chagrin has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Riche2k24 has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CrankHeart has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User adventuregirl91 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User superluminaire has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dissonine has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dangermoose1006 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User trust_system has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soundsystem has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User xronin has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mechacatzilla has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User The Fat King has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cream has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User crco has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User steofab has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User softspace has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User brookerthetrailerparkboy has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User smilerrr has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User 4Patriot has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pinkiepieiscute has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Koukyu has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Dhammer has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User tortoiseandlasso has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lofi303 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User isaacsw has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dedkid has 48 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lasthourrr has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Aleesy1995 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User kellykapunkski has 14 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Extraordinary*_*Life has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Cherribi has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Torgo has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CirkuitShane has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User tehfuture has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User davo1624 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zoobzabb has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User M3H9X has 6 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lvghst has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Stingray6712 has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User erose524 has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User enocraz has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User JTH1153 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thedjenr8 has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User _Sexy_Pants_ has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User isns-qt has 8 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Tetrachromatic has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User claireblain has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BigByrdFlying has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User polop148 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User deadfunk has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User moleman has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DazP has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thepickleman has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lake_scum has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User x27Killzo has 17 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DarkInsanity14 has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User algernon has 52 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cadorette has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User wonkeeey has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User techllama has 7 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User IGS -- 84 -- SPAIN has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User doktavee has 18 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User midsmoker4 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ru_ready has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Alscar has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User maxif875 has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User glam slurb has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User acab_in_85 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Yeenr has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User scummo has 11 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User NormanJaye has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User eyetoeye has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User maicasajusta has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Pannoniae has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User americanroots has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User rakanishu has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User foorjee has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ooepui18 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User machto has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Vincey68 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User NathyB has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User musica101 has 13 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User tmsg has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CocoBlinking has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User theseftro has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Perplexer has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Waylong03 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User crozier has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User apt-get has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User indiewillll has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User WoahDude has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pacodos222 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Uploading has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Aodrn has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User miljaus1975 has 14 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User SlowDay has 6 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User diktate2 has 12 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DerWeiner has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User A. Deep has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Anetxion has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User barinderc has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CJET99 has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Banjoboy has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User daddyboi42069 has 12 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User wootmaster has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jonas89 has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User LucidDream [Lossless] has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ratkins has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Thorkill has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User andreesworld has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User gyakusetsu has 17 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User IKODHIX has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thrasher2809 has 8 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Knife has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User special_user has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pulicamica201011 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User VgNuggets has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Divine Wind has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jeffycool has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jshields24 has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Kaztrofy5 has 7 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User tsdewey5 has 6 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User leftyghostington has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jaschenck1 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jiiieehaaaa has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ErmacBodega has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User atagal has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User blargoesA has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User messyanne has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User 675kkoll has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User maribel5 has 11 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zangetsu has 8 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User johcharly1 has 8 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Asterlina has 26 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User trv has 45 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KliKrekat has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User popville has 25 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Paalhaas has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User naranjito8 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User morolen has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Witless37 has 7 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mwicklund has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User gawd_daym has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ieltxumetal has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User yufice has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jigglysackles has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User catawawa has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User RVCtS has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ravna has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Belana * has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mickstilwell has 23 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User WIRESELF has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ctaehko has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User sapper has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User eexeen_4ViP has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User RockSteady has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User n0ne has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Mortadela has 7 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User madmat71 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User freakk51 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Mike-MG has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User 7idge has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ICPCK has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User SnoopyDoopyDo has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nevets has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User 5465 has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Mi5 has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User noellemustdie has 9 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mogwais1234 has 19 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User vidrar has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Delmenhorst has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KindaRatchet has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User MaeDayOfSharkadia has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BobbieGentryFan2 has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User kiddo84 has 16 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Solobalak has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Carpanta has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User TurtleMasterVIIX has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User keliskindacool has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nekokicker has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User toielet has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User hairbag has 0 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User figmitchels has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User SophisticatedFriedChicken has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Murmur has 3 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User djjeck has 4 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Number51 has 31 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User darkling23 has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jollebollenorn has 2 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User powerup has 5 files +2025-07-10 14:32:33 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Iroh has 1 files +2025-07-10 14:32:33 - newmusic.soulseek_client - INFO - search:288 - Found 980 new results (total: 980) at 1.5s +2025-07-10 14:32:33 - newmusic.soulseek_client - INFO - search:298 - Early termination: Found 980 results, stopping search +2025-07-10 14:32:33 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 980 total results for query: not like us flac +2025-07-10 14:32:38 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - download:325 - Attempting to download: @@ebvty\Kendrick Lamar\Kendrick Lamar - Not Like Us (2024) [WEB FLAC]\1. Not Like Us.flac from cptblack (size: 30166605) +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - download:338 - Using web interface API format: [{'filename': '@@ebvty\\Kendrick Lamar\\Kendrick Lamar - Not Like Us (2024) [WEB FLAC]\\1. Not Like Us.flac', 'size': 30166605, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - download:342 - Trying web interface endpoint: transfers/downloads/cptblack +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/cptblack +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:32:45 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: [{'filename': '@@ebvty\\Kendrick Lamar\\Kendrick Lamar - Not Like Us (2024) [WEB FLAC]\\1. Not Like Us.flac', 'size': 30166605, 'path': 'E:\\Broque Projects\\newMusic\\downloads'}] +2025-07-10 14:32:46 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 201 +2025-07-10 14:32:46 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: ... +2025-07-10 14:32:46 - newmusic.soulseek_client - INFO - download:347 - [SUCCESS] Started download: @@ebvty\Kendrick Lamar\Kendrick Lamar - Not Like Us (2024) [WEB FLAC]\1. Not Like Us.flac from cptblack +2025-07-10 14:32:46 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-10 14:36:57 - newmusic.soulseek_client - INFO - search:243 - Starting search for: 'kendrick not like us flac' +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - search:253 - Search data: {'searchText': 'kendrick not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - search:254 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:112 - JSON payload: {'searchText': 'kendrick not like us flac', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: {"fileCount":0,"id":"ab90ae02-3954-4b28-8c73-f89a9802fb6b","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"kendrick not like us flac","startedAt":"2025-07-10T21:36:57.869113Z","state":"InProgress","token":172}... +2025-07-10 14:36:57 - newmusic.soulseek_client - INFO - search:267 - Search initiated with ID: ab90ae02-3954-4b28-8c73-f89a9802fb6b +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:36:57 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:36:58 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:36:58 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:36:59 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-10 14:36:59 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:36:59 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:36:59 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:36:59 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:01 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s +2025-07-10 14:37:01 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:01 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:01 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:01 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:03 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s +2025-07-10 14:37:03 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:03 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:03 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:03 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:04 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s +2025-07-10 14:37:04 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:04 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:05 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:05 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:06 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s +2025-07-10 14:37:06 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:06 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:06 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:06 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:08 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s +2025-07-10 14:37:08 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:08 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:08 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:08 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:10 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s +2025-07-10 14:37:10 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:10 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:10 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:10 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:11 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s +2025-07-10 14:37:11 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:11 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:12 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:12 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:13 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s +2025-07-10 14:37:13 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:13 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:13 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:13 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:15 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s +2025-07-10 14:37:15 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:15 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:15 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:15 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: []... +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - search:275 - Polling for results (attempt 12/20) - elapsed: 16.5s +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/ab90ae02-3954-4b28-8c73-f89a9802fb6b/responses +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _make_request:121 - Response status: 200 +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _make_request:122 - Response text: [{"fileCount":1,"files":[{"bitDepth":16,"code":1,"extension":"","filename":"@@ffjhz\\Music\\Kendrick Lamar\\2024 - Not Like Us\\101 Not Like Us.flac","length":274,"sampleRate":44100,"size":30094635,"isLocked":false}],"hasFreeUploadSlot":false,"lockedFileCount":0,"lockedFiles":[],"queueLength":45,"token":172,"uploadSpeed":848421,"username":"itmustbeacamel"},{"fileCount":1,"files":[{"bitDepth":24,"code":1,"extension":"","filename":"@@ywofu\\####MUSIC\\###### Hip Hop & Rap\\## - West Coast\\Kendric... +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:208 - Processing 168 user responses +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User itmustbeacamel has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User bbwfrk420 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User activon has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User howemeister has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User sumb0dy has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User floralbeat has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User sulami-server has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User godking has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Vicky_Jam_Jam has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User JTE1817 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User koalabeer has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User bootsofglory has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Depravity has 3 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User legodano has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cptblack has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User a_cool_bug has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User AgentZennifer has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CocoBlinking has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User debar has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User yapperdogbark has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User DerWeiner has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User AntStark has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User messiah165 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Uploading has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zerolexi_koshu has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User evilswampwitch has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User eddie666 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User anuki has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KindaRatchet has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User recovery8655 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User TurtleMasterVIIX has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User daddyboi42069 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User seawaffle has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User CleanupCrew has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User imagines2014 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User davo1624 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User miniblock has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User catawawa has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User hotchair has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User tehfuture has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User MegaTanman8 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User togapepperashi has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User hollywoodford has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cyman has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Tflop20 has 5 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User aavvaavvaa has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User adventuregirl91 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User drailin has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User arid has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User superluminaire has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ctrnand has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dangermoose1006 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User wewoo has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Koukyu has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User SophisticatedFriedChicken has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User arborgirl has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User deadfunk has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thampy has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Rolex has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User z161314885664123 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jmxzero has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Omnyx has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User fakedbatman has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zinnac has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User adambomber@gmail.com has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Tubbyzzzt has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User bsdc has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Rebel_EksDe has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nekokicker has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User erose524 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User yuunesu has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User cinstitute2 has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pinkiepieiscute has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soundsystem has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nx_2000 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User brookerthetrailerparkboy has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lrgcorgi has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ooepui18 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lake_scum has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User boogo_steel has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User powerup has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User web-graffiti has 4 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User toielet has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User soundseeker3699 has 5 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Unpiloted4193 has 3 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ooioio has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nevets has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User +-+ has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User begets has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User an0n has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ethan10 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User captainwunderful has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ektokidd has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ./mkk has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User chloelaser234 has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User digimotong has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BoinkBonk has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Riche2k24 has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User kino_ has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BigTowing has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pitabread36 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User skullboy has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User KliKrekat has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User fayfei has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Dubversion has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User AmbulanceDriver has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User imhrsg has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ZmbyMowse has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ngadyang has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User FAUST has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User raffaello has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User MusicLarry has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BaddieWithoutOrgans has 3 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Music Owns Me has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User FORSHAW has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User pulicamica201011 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Mortadela has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User misomi has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User domtoms has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User xsdfr has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User jimmybreeze has 4 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User eexeen_4ViP has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ixhby has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User HackThe131 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User michaelwave has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ashewithane has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User bonjourmyfriends has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Olaitan has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User neoelefantinabox has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User stilbruch has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dressa1112 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User seres has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User axnxa has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User violenthectarez has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User xbill has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User thisdogissomessedup has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User aRandomFurOnSlsk has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ChiefBootyClap has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Reflection has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User JammSpread has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User BluePages has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User All_Welcome has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User nembutal has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User reverwinsskt has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User gala_vs has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User mr.f0x has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User krisrulloda has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User OhSnapWord has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Ericsson has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User merc248 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User parak0vsky has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lmtls has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User amogumogus has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dwio56 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Snow~ has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User lixdy has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User krncp has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User zelrose has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Vollmann888 has 0 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User clownpatrol6666 has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User ferallindsay has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User emayess has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User trust_system has 2 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Eric-sson has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User FourTwenty has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User TauAs has 5 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User dreem has 1 files +2025-07-10 14:37:17 - newmusic.soulseek_client - DEBUG - _process_search_responses:213 - User Musicmaster2023 has 4 files +2025-07-10 14:37:17 - newmusic.soulseek_client - INFO - search:288 - Found 200 new results (total: 200) at 16.5s +2025-07-10 14:37:17 - newmusic.soulseek_client - INFO - search:298 - Early termination: Found 200 results, stopping search +2025-07-10 14:37:17 - newmusic.soulseek_client - INFO - search:309 - Search completed. Found 200 total results for query: kendrick not like us flac diff --git a/ui/pages/__pycache__/downloads.cpython-312.pyc b/ui/pages/__pycache__/downloads.cpython-312.pyc index d482ae9193d6cfa6d1a2bcfd43507ec39511353d..1df11f379340ae24475ab0a49551dce843669809 100644 GIT binary patch delta 33364 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 AtpET3 delta 21587 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 E06sy 0: - # File exists and has content - streaming ready - self.streaming_finished.emit(f"Stream ready: {self.search_result.filename}", self.search_result) - self.temp_file_path = temp_path - print(f"βœ“ Stream file ready for playback: {temp_path}") + for wait_count in range(max_wait_time // poll_interval): + if self._stop_requested: break + + # Search for the downloaded file in the downloads directory + found_file = self._find_downloaded_file(download_path) + + if found_file: + print(f"βœ“ Found downloaded file: {found_file}") + + # Move the file to Stream folder + file_extension = os.path.splitext(found_file)[1] + stream_filename = f"current_stream{file_extension}" + stream_path = os.path.join(stream_folder, stream_filename) + + try: + # Move file to Stream folder + shutil.move(found_file, stream_path) + print(f"βœ“ Moved file to stream folder: {stream_path}") + + # Clean up empty directories left behind + self._cleanup_empty_directories(download_path, found_file) + + # Signal that streaming is ready + self.streaming_finished.emit(f"Stream ready: {os.path.basename(found_file)}", self.search_result) + self.temp_file_path = stream_path + print(f"βœ“ Stream file ready for playback: {stream_path}") + break + + except Exception as e: + print(f"Error moving file to stream folder: {e}") + self.streaming_failed.emit(f"Failed to prepare stream file: {e}", self.search_result) + break else: # Still downloading, wait a bit more + print(f"Waiting for download to complete... ({wait_count * poll_interval}s elapsed)") time.sleep(poll_interval) else: # Timed out waiting for file - self.streaming_failed.emit("Stream download timed out", self.search_result) + self.streaming_failed.emit("Stream download timed out - file not found", self.search_result) else: self.streaming_failed.emit("Streaming failed to start", self.search_result) @@ -394,10 +509,79 @@ class StreamingThread(QThread): except Exception as e: print(f"Error cleaning up streaming event loop: {e}") + def _find_downloaded_file(self, download_path): + """Find the downloaded audio file in the downloads directory tree""" + import os + + # Audio file extensions to look for + audio_extensions = {'.mp3', '.flac', '.ogg', '.aac', '.wma', '.wav', '.m4a'} + + # Get the base filename without path + target_filename = os.path.basename(self.search_result.filename) + + try: + # Walk through the downloads directory to find the file + for root, dirs, files in os.walk(download_path): + for file in files: + # Check if this is our target file + if file == target_filename: + file_path = os.path.join(root, file) + # Verify it's an audio file and has content + if (os.path.splitext(file)[1].lower() in audio_extensions and + os.path.getsize(file_path) > 1024): # At least 1KB + return file_path + + # Also check for any audio files that might match partially + # (in case filename is slightly different) + file_lower = file.lower() + target_lower = target_filename.lower() + + # Remove common variations + target_clean = target_lower.replace(' ', '').replace('-', '').replace('_', '') + file_clean = file_lower.replace(' ', '').replace('-', '').replace('_', '') + + if (os.path.splitext(file)[1].lower() in audio_extensions and + len(file_clean) > 10 and # Reasonable filename length + (target_clean in file_clean or file_clean in target_clean) and + os.path.getsize(os.path.join(root, file)) > 1024): + return os.path.join(root, file) + + except Exception as e: + print(f"Error searching for downloaded file: {e}") + + return None + + def _cleanup_empty_directories(self, download_path, moved_file_path): + """Clean up empty directories left after moving a file""" + import os + + try: + # Get the directory that contained the moved file + file_dir = os.path.dirname(moved_file_path) + + # Only clean up if it's a subdirectory of downloads (not the downloads folder itself) + if file_dir != download_path and file_dir.startswith(download_path): + # Check if directory is empty + if os.path.isdir(file_dir) and not os.listdir(file_dir): + print(f"Removing empty directory: {file_dir}") + os.rmdir(file_dir) + + # Recursively check parent directories + parent_dir = os.path.dirname(file_dir) + if (parent_dir != download_path and + parent_dir.startswith(download_path) and + os.path.isdir(parent_dir) and + not os.listdir(parent_dir)): + print(f"Removing empty parent directory: {parent_dir}") + os.rmdir(parent_dir) + + except Exception as e: + print(f"Warning: Could not clean up empty directories: {e}") + async def _do_stream_download(self): """Perform the streaming download using normal download mechanism""" # Use the same download mechanism as regular downloads - # The temp location will be handled by the download path configuration + # The file will be downloaded to the normal downloads folder first return await self.soulseek_client.download( self.search_result.username, self.search_result.filename, @@ -864,24 +1048,60 @@ class SearchResultItem(QFrame): is_audio = any(filename_lower.endswith(ext) for ext in audio_extensions) if is_audio: - # Change button state to indicate streaming - original_text = self.play_btn.text() + # Get reference to the DownloadsPage to check audio player state + downloads_page = self.get_downloads_page() + + # If this button is currently playing, toggle pause/resume + if (downloads_page and + downloads_page.currently_playing_button == self and + downloads_page.audio_player.is_playing): + + # Toggle playback (pause/resume) + is_playing = downloads_page.audio_player.toggle_playback() + if is_playing: + self.set_playing_state() + else: + self.play_btn.setText("▢️") # Play icon when paused + self.play_btn.setEnabled(True) + return + + # Otherwise, start new streaming + # Change button state to indicate streaming is starting self.play_btn.setText("⏸️") # Pause icon to indicate playing self.play_btn.setEnabled(False) # Emit streaming request self.stream_requested.emit(self.search_result) - # Reset button after a delay (basic state management) - QTimer.singleShot(2000, lambda: self.reset_play_state(original_text)) + # Note: Button state will be managed by the audio player callbacks + # No timer reset - the audio player will handle state changes else: print(f"Cannot stream non-audio file: {self.search_result.filename}") + def get_downloads_page(self): + """Get reference to the parent DownloadsPage""" + parent = self.parent() + while parent: + if hasattr(parent, 'audio_player'): # DownloadsPage has audio_player + return parent + parent = parent.parent() + return None + def reset_play_state(self, original_text="▢️"): """Reset the play button state""" self.play_btn.setText(original_text) self.play_btn.setEnabled(True) + def set_playing_state(self): + """Set button to playing state""" + self.play_btn.setText("⏸️") + self.play_btn.setEnabled(True) + + def set_loading_state(self): + """Set button to loading state""" + self.play_btn.setText("βŒ›") + self.play_btn.setEnabled(False) + def reset_download_state(self): """Reset the download button state""" self.is_downloading = False @@ -1270,33 +1490,37 @@ class DownloadQueue(QFrame): def setup_ui(self): self.setStyleSheet(""" DownloadQueue { - background: #282828; - border-radius: 8px; - border: 1px solid #404040; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(45, 45, 45, 0.9), + stop:1 rgba(35, 35, 35, 0.95)); + border-radius: 10px; + border: 1px solid rgba(80, 80, 80, 0.5); } """) layout = QVBoxLayout(self) - layout.setContentsMargins(16, 8, 16, 16) # Reduced top padding - layout.setSpacing(8) # Tighter spacing for more compact layout + layout.setContentsMargins(12, 6, 12, 12) # Further reduced padding + layout.setSpacing(6) # Even tighter spacing for more compact layout # Header header_layout = QHBoxLayout() header_layout.setContentsMargins(0, 0, 0, 0) self.title_label = QLabel(self.queue_title) - self.title_label.setFont(QFont("Segoe UI", 14, QFont.Weight.Bold)) + self.title_label.setFont(QFont("Segoe UI", 11, QFont.Weight.Bold)) self.title_label.setStyleSheet(""" color: rgba(255, 255, 255, 0.95); font-weight: 600; padding: 0; + margin: 0; """) queue_count = QLabel("Empty") - queue_count.setFont(QFont("Segoe UI", 10)) + queue_count.setFont(QFont("Segoe UI", 9)) queue_count.setStyleSheet(""" color: rgba(255, 255, 255, 0.6); padding: 0; + margin: 0; """) header_layout.addWidget(self.title_label) @@ -1306,7 +1530,7 @@ class DownloadQueue(QFrame): # Queue list queue_scroll = QScrollArea() queue_scroll.setWidgetResizable(True) - queue_scroll.setFixedHeight(300) + queue_scroll.setFixedHeight(280) queue_scroll.setStyleSheet(""" QScrollArea { border: none; @@ -1334,8 +1558,8 @@ class DownloadQueue(QFrame): # Add initial message when queue is empty self.empty_message = QLabel("No downloads yet. Start downloading music to see them here!") - self.empty_message.setFont(QFont("Arial", 11)) - self.empty_message.setStyleSheet("color: rgba(255, 255, 255, 0.5); padding: 20px; text-align: center;") + self.empty_message.setFont(QFont("Arial", 10)) + self.empty_message.setStyleSheet("color: rgba(255, 255, 255, 0.5); padding: 15px; text-align: center;") self.empty_message.setAlignment(Qt.AlignmentFlag.AlignCenter) queue_layout.addWidget(self.empty_message) @@ -1440,7 +1664,7 @@ class TabbedDownloadManager(QTabWidget): self.finished_queue = DownloadQueue("Finished Downloads") # Update the finished queue count label - self.finished_queue.queue_count_label.setText("No finished downloads") + self.finished_queue.queue_count_label.setText("Empty") # Add tabs self.addTab(self.active_queue, "Download Queue") @@ -1519,6 +1743,12 @@ class DownloadsPage(QWidget): self.displayed_results = 0 # Track how many results are currently displayed self.results_per_page = 15 # Show 15 results at a time self.is_loading_more = False # Prevent multiple simultaneous loads + + # Initialize audio player for streaming + self.audio_player = AudioPlayer(self) + self.audio_player.playback_finished.connect(self.on_audio_playback_finished) + self.audio_player.playback_error.connect(self.on_audio_playback_error) + self.currently_playing_button = None # Track which play button is active self.currently_expanded_item = None # Track which item is currently expanded # Download status polling timer @@ -1808,67 +2038,71 @@ class DownloadsPage(QWidget): panel.setStyleSheet(""" QFrame { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, - stop:0 rgba(35, 35, 35, 0.8), - stop:1 rgba(25, 25, 25, 0.9)); - border-radius: 16px; - border: 1px solid rgba(64, 64, 64, 0.3); + stop:0 rgba(40, 40, 40, 0.85), + stop:1 rgba(25, 25, 25, 0.95)); + border-radius: 18px; + border: 1px solid rgba(80, 80, 80, 0.4); } """) layout = QVBoxLayout(panel) - layout.setContentsMargins(12, 12, 12, 12) # Consistent responsive spacing - layout.setSpacing(12) # Consistent spacing throughout + layout.setContentsMargins(10, 10, 10, 10) # Consistent responsive spacing + layout.setSpacing(10) # Consistent spacing throughout # Panel header header = QLabel("Download Manager") - header.setFont(QFont("Arial", 14, QFont.Weight.Bold)) - header.setStyleSheet("color: rgba(255, 255, 255, 0.9); padding: 8px 0;") + header.setFont(QFont("Arial", 12, QFont.Weight.Bold)) + header.setStyleSheet("color: rgba(255, 255, 255, 0.9); padding: 6px 0; margin: 0;") layout.addWidget(header) - # Quick stats + # Quick stats with improved styling stats_frame = QFrame() stats_frame.setStyleSheet(""" QFrame { - background: rgba(45, 45, 45, 0.6); - border-radius: 8px; - border: 1px solid rgba(64, 64, 64, 0.4); + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(45, 45, 45, 0.7), + stop:1 rgba(35, 35, 35, 0.8)); + border-radius: 10px; + border: 1px solid rgba(80, 80, 80, 0.3); } """) stats_layout = QVBoxLayout(stats_frame) - stats_layout.setContentsMargins(12, 10, 12, 10) - stats_layout.setSpacing(6) + stats_layout.setContentsMargins(10, 8, 10, 8) + stats_layout.setSpacing(4) self.active_downloads_label = QLabel("β€’ Active Downloads: 0") - self.active_downloads_label.setFont(QFont("Arial", 10)) - self.active_downloads_label.setStyleSheet("color: rgba(255, 255, 255, 0.8);") + self.active_downloads_label.setFont(QFont("Arial", 9)) + self.active_downloads_label.setStyleSheet("color: rgba(255, 255, 255, 0.8); margin: 0; padding: 2px 0;") self.finished_downloads_label = QLabel("β€’ Finished Downloads: 0") - self.finished_downloads_label.setFont(QFont("Arial", 10)) - self.finished_downloads_label.setStyleSheet("color: rgba(255, 255, 255, 0.8);") + self.finished_downloads_label.setFont(QFont("Arial", 9)) + self.finished_downloads_label.setStyleSheet("color: rgba(255, 255, 255, 0.8); margin: 0; padding: 2px 0;") stats_layout.addWidget(self.active_downloads_label) stats_layout.addWidget(self.finished_downloads_label) layout.addWidget(stats_frame) - # Control buttons + # Control buttons with enhanced styling controls_frame = QFrame() controls_frame.setStyleSheet(""" QFrame { - background: rgba(40, 40, 40, 0.5); - border-radius: 8px; - border: 1px solid rgba(64, 64, 64, 0.3); + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(50, 50, 50, 0.6), + stop:1 rgba(30, 30, 30, 0.7)); + border-radius: 10px; + border: 1px solid rgba(70, 70, 70, 0.4); } """) controls_layout = QVBoxLayout(controls_frame) - controls_layout.setContentsMargins(12, 12, 12, 12) - controls_layout.setSpacing(8) + controls_layout.setContentsMargins(10, 10, 10, 10) + controls_layout.setSpacing(6) pause_btn = QPushButton("⏸️ Pause All") - pause_btn.setFixedHeight(32) + pause_btn.setFixedHeight(28) pause_btn.setStyleSheet(self._get_control_button_style("#ffa500")) clear_btn = QPushButton("πŸ—‘οΈ Clear Completed") - clear_btn.setFixedHeight(32) + clear_btn.setFixedHeight(28) clear_btn.clicked.connect(self.clear_completed_downloads) clear_btn.setStyleSheet(self._get_control_button_style("#e22134")) @@ -1877,8 +2111,20 @@ class DownloadsPage(QWidget): layout.addWidget(controls_frame) # Download Queue Section - Now with tabs for active and finished downloads + queue_container = QFrame() + queue_container.setStyleSheet(""" + QFrame { + background: transparent; + border: none; + margin-top: 5px; + } + """) + queue_layout = QVBoxLayout(queue_container) + queue_layout.setContentsMargins(0, 0, 0, 0) + self.download_queue = TabbedDownloadManager() - layout.addWidget(self.download_queue) + queue_layout.addWidget(self.download_queue) + layout.addWidget(queue_container) # Initialize stats display self.update_download_manager_stats(0, 0) @@ -1926,19 +2172,30 @@ class DownloadsPage(QWidget): return status_bar def _get_control_button_style(self, color): - """Get consistent button styling""" + """Get consistent button styling with improved aesthetics""" return f""" QPushButton {{ - background: rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (51,)}; - border: 1px solid {color}; - border-radius: 16px; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (40,)}, + stop:1 rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (25,)}); + border: 1px solid rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (80,)}; + border-radius: 14px; color: {color}; - font-size: 11px; - font-weight: bold; - padding: 6px 12px; + font-size: 10px; + font-weight: 600; + padding: 5px 10px; + text-align: center; }} QPushButton:hover {{ - background: rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (77,)}; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (60,)}, + stop:1 rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (40,)}); + border: 1px solid {color}; + color: #ffffff; + }} + QPushButton:pressed {{ + background: rgba{tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) + (80,)}; + border: 1px solid {color}; }} """ @@ -2149,7 +2406,7 @@ class DownloadsPage(QWidget): for result in results_to_show: result_item = SearchResultItem(result) result_item.download_requested.connect(self.start_download) - result_item.stream_requested.connect(self.start_stream) + result_item.stream_requested.connect(lambda search_result, item=result_item: self.start_stream(search_result, item)) result_item.expansion_requested.connect(self.handle_expansion_request) # Insert before the stretch insert_position = self.search_results_layout.count() - 1 @@ -2246,7 +2503,7 @@ class DownloadsPage(QWidget): result = self.search_results[i] result_item = SearchResultItem(result) result_item.download_requested.connect(self.start_download) - result_item.stream_requested.connect(self.start_stream) + result_item.stream_requested.connect(lambda search_result, item=result_item: self.start_stream(search_result, item)) result_item.expansion_requested.connect(self.handle_expansion_request) # Insert before the stretch (which is always last) insert_position = self.search_results_layout.count() - 1 @@ -2349,11 +2606,19 @@ class DownloadsPage(QWidget): except Exception as e: print(f"Failed to start download: {str(e)}") - def start_stream(self, search_result): + def start_stream(self, search_result, result_item=None): """Start streaming a search result using StreamingThread""" try: print(f"Starting stream: {search_result.filename} from {search_result.username}") + # Stop any currently playing audio and reset previous button + if self.currently_playing_button: + self.audio_player.stop_playback() + self.currently_playing_button.reset_play_state() + + # Track the new currently playing button + self.currently_playing_button = result_item + # Check if file is a valid audio type audio_extensions = ['.mp3', '.flac', '.ogg', '.aac', '.wma', '.wav'] filename_lower = search_result.filename.lower() @@ -2393,14 +2658,61 @@ class DownloadsPage(QWidget): def on_streaming_started(self, message, search_result): """Handle streaming start""" print(f"Streaming started: {message}") + # Set button to loading state while file is being prepared + if self.currently_playing_button: + self.currently_playing_button.set_loading_state() def on_streaming_finished(self, message, search_result): - """Handle streaming completion""" + """Handle streaming completion - start actual audio playback""" print(f"Streaming finished: {message}") + + try: + # Find the stream file in the Stream folder + project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) # Go up from ui/pages/ + stream_folder = os.path.join(project_root, 'Stream') + + # Find the current stream file + stream_file = None + for filename in os.listdir(stream_folder): + if filename.startswith('current_stream') and os.path.isfile(os.path.join(stream_folder, filename)): + stream_file = os.path.join(stream_folder, filename) + break + + if stream_file and os.path.exists(stream_file): + # Start audio playback + success = self.audio_player.play_file(stream_file) + if success: + print(f"🎡 Started audio playback: {os.path.basename(stream_file)}") + # Set button to playing state + if self.currently_playing_button: + self.currently_playing_button.set_playing_state() + else: + print(f"❌ Failed to start audio playback") + # Reset button on failure + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None + else: + print(f"❌ Stream file not found in {stream_folder}") + # Reset button on failure + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None + + except Exception as e: + print(f"❌ Error starting audio playback: {e}") + # Reset button on error + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None def on_streaming_failed(self, error_msg, search_result): """Handle streaming failure""" print(f"Streaming failed: {error_msg}") + # Reset any play button that might be waiting + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None def on_streaming_thread_finished(self, thread): """Clean up when streaming thread finishes""" @@ -2428,6 +2740,22 @@ class DownloadsPage(QWidget): except Exception as e: print(f"Error cleaning up finished streaming thread: {e}") + def on_audio_playback_finished(self): + """Handle when audio playback finishes""" + print("🎡 Audio playback completed") + # Reset the play button to play state + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None + + def on_audio_playback_error(self, error_msg): + """Handle audio playback errors""" + print(f"❌ Audio playback error: {error_msg}") + # Reset the play button to play state + if self.currently_playing_button: + self.currently_playing_button.reset_play_state() + self.currently_playing_button = None + def on_download_completed(self, message, download_item): """Handle successful download start""" print(f"Download success: {message}")