From 5e5ab1b7e9338e42bd112a5465fa709e3df5247b Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Sat, 12 Jul 2025 17:38:38 -0700 Subject: [PATCH] fix --- logs/app.log | 301 ++++++++++++++++++ .../__pycache__/downloads.cpython-312.pyc | Bin 297343 -> 298175 bytes ui/pages/downloads.py | 31 ++ 3 files changed, 332 insertions(+) diff --git a/logs/app.log b/logs/app.log index 10bc631e..ed3d81cb 100644 --- a/logs/app.log +++ b/logs/app.log @@ -35076,3 +35076,304 @@ 2025-07-12 17:31:03 - newmusic.soulseek_client - INFO - search:632 - Search completed. Final results: 178 tracks and 197 albums for query: Kendrick Album 2025-07-12 17:31:04 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main 2025-07-12 17:31:11 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-12 17:34:29 - newmusic.main - INFO - closeEvent:176 - Closing application... +2025-07-12 17:34:29 - newmusic.main - INFO - closeEvent:181 - Cleaning up Downloads page threads... +2025-07-12 17:34:29 - newmusic.main - INFO - closeEvent:186 - Stopping status monitoring thread... +2025-07-12 17:34:29 - newmusic.main - INFO - closeEvent:191 - Closing Soulseek client... +2025-07-12 17:34:29 - newmusic.main - INFO - closeEvent:197 - Application closed successfully +2025-07-12 17:34:32 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-12 17:34:32 - newmusic.main - INFO - main:211 - Starting NewMusic application +2025-07-12 17:34:33 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-12 17:34:33 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-12 17:34:33 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-12 17:34:33 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-12 17:34:33 - newmusic.main - INFO - change_page:163 - Changed to page: dashboard +2025-07-12 17:34:33 - newmusic.main - INFO - setup_media_player_connections:150 - Media player connections established between sidebar and downloads page +2025-07-12 17:34:34 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-12 17:34:34 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-12 17:34:35 - newmusic.main - INFO - change_page:163 - Changed to page: downloads +2025-07-12 17:34:37 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-12 17:34:37 - newmusic.soulseek_client - INFO - search:551 - Starting search for: 'Kendrick album' +2025-07-12 17:34:37 - newmusic.soulseek_client - DEBUG - search:561 - Search data: {'searchText': 'Kendrick album', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-12 17:34:37 - newmusic.soulseek_client - DEBUG - search:562 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-12 17:34:37 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-12 17:34:37 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 17:34:37 - newmusic.soulseek_client - DEBUG - _make_request:245 - JSON payload: {'searchText': 'Kendrick album', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: {"fileCount":0,"id":"a63f2652-dbd5-46bf-bf93-8a5cf133ae3c","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"Kendrick album","startedAt":"2025-07-13T00:34:38.0285834Z","state":"InProgress","token":2409}... +2025-07-12 17:34:38 - newmusic.soulseek_client - INFO - search:575 - Search initiated with ID: a63f2652-dbd5-46bf-bf93-8a5cf133ae3c +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - search:585 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches/a63f2652-dbd5-46bf-bf93-8a5cf133ae3c/responses +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 17:34:38 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 17:34:38 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: []... +2025-07-12 17:34:39 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-12 17:34:39 - newmusic.soulseek_client - DEBUG - search:585 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-12 17:34:39 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches/a63f2652-dbd5-46bf-bf93-8a5cf133ae3c/responses +2025-07-12 17:34:39 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"fileCount":1,"files":[{"bitRate":320,"code":1,"extension":"","filename":"@@itaam\\Music\\Lonely Island, The\\The Wack Album\\YOLO (Feat. Adam Lecine & Kendrick Lamar).mp3","length":184,"size":8078537,"isLocked":false}],"hasFreeUploadSlot":true,"lockedFileCount":0,"lockedFiles":[],"queueLength":16,"token":2409,"uploadSpeed":1205092,"username":"batmaster"},{"fileCount":1,"files":[{"code":1,"extension":"","filename":"+ MUSIC +\\~+ Hip-Hop\\Kendrick Lamar - Mr. Morale and The Big Steppers (2022)\... +2025-07-12 17:34:40 - newmusic.soulseek_client - INFO - search:597 - Found 250 new responses (250 total) at 1.5s +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:345 - Processing 250 user responses +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User batmaster has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User r8mne0tekbeat has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User puresauce35 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gdtek has 21 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Sprenless has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User churchofozzy1 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sumb0dy has 22 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Ziz_yall has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Davidless has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jeskola333 has 4 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Unstoppable5378 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User csglxxxy has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User KingGomi has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bounceman has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sheikhyerbootai has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Tor_McCool has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User reemo4250 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User mintusaurus has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User winivb has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User DoctorLove has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User 3030 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User whackdummy has 21 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User DraculaGottfried has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TheTrillT-Rex has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User stormcynk has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User XY0 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Viridi2413 has 35 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cyanfire has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User monsterpco has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Biotwist has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User superluminaire has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Sam-jam has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fakedbatman has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User VinyrealDisease has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Jordyusa has 12 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bswslskd has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FlowerSunRain has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dp8039 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User thlayli_x has 28 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User von_ubelmann has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User boogo_steel has 50 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User trek7008 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User quopterex has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Handbanana has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BoinkBonk has 18 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User richmilnix has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User _kyle_1 has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sidisastar has 9 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User filfilfil has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User stinkyrat has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kfs1986 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fern911 has 4 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User penicilling has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rblotnicky has 20 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User michaelwave has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User zinnac has 19 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ilikedmyoldname has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dzejmsbond has 18 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User PHULES has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User iiprisma has 6 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User CaptainNoFuture has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MYCELIUM_BUDDY has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User theoddhermit has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lsdsoundsystem has 13 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User PatriqueLOBT has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MyMindIsBlowing has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dio141 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nixgoat has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User miniblock has 7 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User itmustbeacamel has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User GentooIsBased has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rikki has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Krullakake has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User frenchsteph has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User maneuve has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User copperstairs has 93 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User blubber123 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User wrabbit has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Cinkai has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User greendot has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User _tyrese_ has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cbrBLK has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ricardoastley has 4 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User brihar22 has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User vfoxm has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Johntest has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dwtn81 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User RockCartel has 4 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User HALlowe2000 has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AfshinRecruiter has 8 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User superlozer has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bmxsir has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User oier26 has 11 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User harrypothed has 22 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Ozwaht has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User clf2008 has 85 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BurakkuKami has 17 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User The Locutus has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User QZmMsonU88wHQBG5QHep7 has 106 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User geraldo876 has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Vilmar has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User OPOC has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User iaman00b has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User LordFerite has 35 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Irishsaint has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User digicpk has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MacchiaLux has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AwesomeAustn has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gustave1984 has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User etaylor86 has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User alitamachine has 17 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User macro has 58 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User waddaw has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User technosux has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BenjoKazooie has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bigkahuna30267 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User erasethesanity has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User 88STARSTUCK has 42 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User wingler has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dunce has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User raydeeoo has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User davesv has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User breakone9r has 9 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bradchadley has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kerobaros has 217 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User legodano has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User darkling23 has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User zaodriver has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User hotchair has 76 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dracbf has 17 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bpat2 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jimbob23 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jaxxthesynth has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TitanX420 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tehfuture has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dreem has 6 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dmoe has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User imagines2014 has 7 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tbdbitl1 has 18 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User z161314885664123 has 19 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Deadbolt1209 has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rrrrrrryttttttj has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Divine Wind has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User severedxties has 6 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Lava_Lamp918 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rooooool has 24 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FAUST has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User campee has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User yagoobian has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Fenris has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TransRights! has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User willneezy has 8 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User locando has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User save20families has 12 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User elipsedeclipse has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bigFlyingFan has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User thampy has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gombers04 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User DigidocTN has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lpma has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User JTE1817 has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sevenarts has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nightmare_dronemk12 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Biffs_Media has 13 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User up4mayhem has 29 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SonicRings has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ta_face_esti has 27 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User algernon has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Thaliboy has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ParadiseLost has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Lithim has 13 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User parasomia has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gandr003 has 26 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User itsBaljeet has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User marx2k has 12 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dreamer has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User itmightbemikey has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Satani-Vitales has 12 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Reemerge6193 has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User m00nl1ght98 has 4 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Lord_Anakyn has 37 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User yukosan666 has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ill equipped has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User soulshookt has 42 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Audio_Dope2 has 10 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User domatar has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User RandomZero has 38 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User assaub has 7 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User formerbusboy has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Rolex has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Gratitude4024 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User axnxa has 0 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User brb1228 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dekachin has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cy1der has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User petejwhizz has 19 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Datasmurf has 8 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lascar972 has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User crint has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User guppies16 has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User musica101 has 19 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User relaxedcrab has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jimtybobert has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BeatscapeLounge has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Asterlina has 18 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User togapepperashi has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Luigi151 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Chicken_Biscuit has 20 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User mommyissues has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User begets has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FileGod has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SxSlka has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TheProfessor has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User YJWMY91Bk has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Marliacea has 16 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User h23234 has 10 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User conyeezy has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User +-+ has 3 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jonnycob has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Marxist has 30 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Jerooome has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MusicLarry has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Grapeman69 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User xcixxorx has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kilo_breath has 103 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sataNathan has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User guineahorn has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User pugacioff has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AfterlinePerformed has 7 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User afronaut has 8 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SoulHunterWolf has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ValdikSS2 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User amonem has 9 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Chad Banks has 17 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Dw@n$i has 17 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TerryDavis has 10 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User hardkorr has 75 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ReadyPlayer420 has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User catawawa has 14 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User amd90 has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cytokinetic has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cktc has 50 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Chnge has 1 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User takeourcarsnow has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Basiv has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nexuszeero has 15 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fourthgear has 2 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User oblama has 150 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lulzcat773 has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User thatoneguy82101 has 5 files +2025-07-12 17:34:40 - newmusic.soulseek_client - INFO - _process_search_responses:399 - Found 163 individual tracks and 189 albums +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:400 - Album detection details: 352 potential albums processed +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: batmaster/@@itaam/Music/Lonely Island, The/The Wack Album -> 1 tracks +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: gdtek/music/Kendrick Lamar/Black Panther_ The Album (Music From and Inspired By) -> 14 tracks +2025-07-12 17:34:40 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: Sprenless/Music'/Lonely Island, The/2013 - The Wack Album -> 1 tracks +2025-07-12 17:34:40 - newmusic.soulseek_client - INFO - search:617 - Processed results: 163 tracks, 189 albums +2025-07-12 17:34:40 - newmusic.soulseek_client - INFO - search:621 - Early termination: Found 250 responses, stopping search +2025-07-12 17:34:40 - newmusic.soulseek_client - INFO - search:632 - Search completed. Final results: 163 tracks and 189 albums for query: Kendrick album +2025-07-12 17:34:40 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-12 17:34:45 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-12 17:34:53 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists diff --git a/ui/pages/__pycache__/downloads.cpython-312.pyc b/ui/pages/__pycache__/downloads.cpython-312.pyc index 1e35e9d795995d4af5496f506555eaad58f91995..318b170dc7034d1c80f817509210bb6e3d3bd75d 100644 GIT binary patch delta 12722 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 delta 12038 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 diff --git a/ui/pages/downloads.py b/ui/pages/downloads.py index 62c0e121..8ee5c27e 100644 --- a/ui/pages/downloads.py +++ b/ui/pages/downloads.py @@ -1292,6 +1292,11 @@ class AlbumResultItem(QFrame): if self.album_result.year: details.append(f"({self.album_result.year})") + # Add speed information + speed_info = self._get_album_speed_display() + if speed_info: + details.append(speed_info) + details_text = " • ".join(details) album_details = QLabel(details_text) album_details.setFont(QFont("Arial", 10)) @@ -1395,6 +1400,32 @@ class AlbumResultItem(QFrame): """Handle stream request from a track item, passing the correct button reference""" # Emit the stream request with the track item that contains the button self.track_stream_requested.emit(track_result, track_item) + + def _get_album_speed_display(self): + """Get formatted speed display for album cards""" + # Get speed data from album result + speed = getattr(self.album_result, 'upload_speed', None) or 0 + slots = getattr(self.album_result, 'free_upload_slots', None) or 0 + + if speed > 0: + # Use same logic as Singles but return text only (no icons for inline display) + if speed > 200: + icon = "🚀" + elif speed > 100: + icon = "🚀" if slots > 0 else "⚡" + elif speed > 50: + icon = "⚡" + else: + icon = "🐌" + + # Convert to MB/s and format + speed_mb = speed / 1024 + if speed_mb >= 1: + return f"{icon} {speed_mb:.1f}MB/s" + else: + return f"{icon} {speed}KB/s" + + return None # No speed data class SearchResultItem(QFrame): download_requested = pyqtSignal(object) # SearchResult object