From f2e62217a0ee51f2804643853249aec4fe6659ef Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Sat, 12 Jul 2025 10:29:54 -0700 Subject: [PATCH] added filter --- logs/app.log | 323 ++++++++++++++++++ .../__pycache__/downloads.cpython-312.pyc | Bin 262463 -> 267388 bytes ui/pages/downloads.py | 152 +++++++-- 3 files changed, 447 insertions(+), 28 deletions(-) diff --git a/logs/app.log b/logs/app.log index 100c3201..8f618e7e 100644 --- a/logs/app.log +++ b/logs/app.log @@ -16286,3 +16286,326 @@ 2025-07-12 10:10:36 - newmusic.main - INFO - closeEvent:186 - Stopping status monitoring thread... 2025-07-12 10:10:39 - newmusic.main - INFO - closeEvent:191 - Closing Soulseek client... 2025-07-12 10:10:39 - newmusic.main - INFO - closeEvent:197 - Application closed successfully +2025-07-12 10:13:27 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-12 10:13:27 - newmusic.main - INFO - main:211 - Starting NewMusic application +2025-07-12 10:13:28 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-12 10:13:28 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-12 10:13:28 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-12 10:13:28 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-12 10:13:28 - newmusic.main - INFO - change_page:163 - Changed to page: dashboard +2025-07-12 10:13:28 - newmusic.main - INFO - setup_media_player_connections:150 - Media player connections established between sidebar and downloads page +2025-07-12 10:13:29 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-12 10:13:29 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-12 10:13:29 - newmusic.main - INFO - change_page:163 - Changed to page: downloads +2025-07-12 10:13:31 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-12 10:13:33 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-12 10:13:34 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-12 10:13:35 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-12 10:13:40 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-12 10:13:48 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-12 10:28:05 - newmusic.main - INFO - closeEvent:176 - Closing application... +2025-07-12 10:28:05 - newmusic.main - INFO - closeEvent:181 - Cleaning up Downloads page threads... +2025-07-12 10:28:05 - newmusic.main - INFO - closeEvent:186 - Stopping status monitoring thread... +2025-07-12 10:28:07 - newmusic.main - INFO - closeEvent:191 - Closing Soulseek client... +2025-07-12 10:28:07 - newmusic.main - INFO - closeEvent:197 - Application closed successfully +2025-07-12 10:28:10 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-12 10:28:10 - newmusic.main - INFO - main:211 - Starting NewMusic application +2025-07-12 10:28:10 - newmusic.spotify_client - INFO - _setup_client:84 - Successfully authenticated with Spotify as broquethomas +2025-07-12 10:28:10 - newmusic.plex_client - INFO - _find_music_library:98 - Found music library: Music +2025-07-12 10:28:10 - newmusic.plex_client - INFO - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-12 10:28:10 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-12 10:28:11 - newmusic.main - INFO - change_page:163 - Changed to page: dashboard +2025-07-12 10:28:11 - newmusic.main - INFO - setup_media_player_connections:150 - Media player connections established between sidebar and downloads page +2025-07-12 10:28:11 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Aether +2025-07-12 10:28:11 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists +2025-07-12 10:28:14 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Brittnea +2025-07-12 10:28:15 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Baleigh +2025-07-12 10:28:17 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Extra Music +2025-07-12 10:28:17 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main +2025-07-12 10:28:20 - newmusic.main - INFO - change_page:163 - Changed to page: downloads +2025-07-12 10:28:23 - newmusic.spotify_client - INFO - get_user_playlists:106 - Fetching tracks for playlist: Broque Main +2025-07-12 10:28:29 - newmusic.soulseek_client - INFO - search:551 - Starting search for: 'Kendrick album' +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - search:561 - Search data: {'searchText': 'Kendrick album', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - search:562 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making POST request to: http://localhost:5030/api/v0/searches +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:245 - JSON payload: {'searchText': 'Kendrick album', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0} +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: {"fileCount":0,"id":"caf95352-9c03-4b38-b1be-0cec053f8591","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"Kendrick album","startedAt":"2025-07-12T17:28:29.5634759Z","state":"InProgress","token":1834}... +2025-07-12 10:28:29 - newmusic.soulseek_client - INFO - search:575 - Search initiated with ID: caf95352-9c03-4b38-b1be-0cec053f8591 +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - search:585 - Polling for results (attempt 1/20) - elapsed: 0.0s +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches/caf95352-9c03-4b38-b1be-0cec053f8591/responses +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 10:28:29 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: []... +2025-07-12 10:28:30 - newmusic.spotify_client - INFO - get_user_playlists:113 - Retrieved 7 playlists +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - search:585 - Polling for results (attempt 2/20) - elapsed: 1.5s +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches/caf95352-9c03-4b38-b1be-0cec053f8591/responses +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"fileCount":86,"files":[{"bitDepth":16,"code":1,"extension":"","filename":"@@krhfj\\Rotation\\Kendrick Lamar\\(2012) good kid, m.A.A.d city [ALBUM]\\01. Sherane a.k.a. Master Splinter’s Daughter.flac","length":273,"sampleRate":44100,"size":23358745,"isLocked":false},{"bitDepth":16,"code":1,"extension":"","filename":"@@krhfj\\Rotation\\Kendrick Lamar\\(2012) good kid, m.A.A.d city [ALBUM]\\01. The Recipe.flac","length":353,"sampleRate":44100,"size":43348716,"isLocked":false},{"bitDepth":16,"cod... +2025-07-12 10:28:31 - newmusic.soulseek_client - INFO - search:597 - Found 250 new responses (250 total) at 1.5s +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:345 - Processing 250 user responses +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User shtluck has 86 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SoulHunterWolf has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User macro has 58 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User batmaster has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MYCELIUM_BUDDY has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Rekinom has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gdtek has 21 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sidisastar has 9 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User boogo_steel has 50 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sheikhyerbootai has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sumb0dy has 22 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AfterlinePerformed has 7 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User winivb has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User miniblock has 7 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User 3030 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User etaylor86 has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User loko11 has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User churchofozzy1 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lukeandetc has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cy1der has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Biotwist has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User copperstairs has 93 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User up4mayhem has 29 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User leitunggeist has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User algernon has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BurakkuKami has 17 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User penicilling has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User monsterpco has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User DraculaGottfried has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User reemo4250 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User oier26 has 11 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Tor_McCool has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TheFakeRws has 32 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bswslskd has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User richmilnix has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User digimotong has 32 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User mommyissues has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User johnny.megaton has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gustave1984 has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User XY0 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User von_ubelmann has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User whackdummy has 21 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Davidless has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TheTrillT-Rex has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User frenchsteph has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User greendot has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User itmustbeacamel has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AntStark has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ill equipped has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User zaodriver has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User GentooIsBased has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rroni has 19 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BeeDee3 has 19 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User DrAsphyxia has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lascar972 has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User codotusylv has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User begets has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Lord_Anakyn has 37 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User afronaut has 8 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User geraldo876 has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Johntest has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fakedbatman has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tikitempo has 22 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User The Locutus has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User KingGomi has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dwtn81 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User vfoxm has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fern911 has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Gratitude4024 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User fourthgear has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kfs1986 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bigkahuna30267 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User alitamachine has 17 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Handbanana has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dreem has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User eazy4me has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User _kyle_1 has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TerryDavis has 10 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SunbeamShine has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rrrrrrryttttttj has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nanct reagan has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Grohl has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dubs. has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User BoinkBonk has 18 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dracbf has 17 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rooooool has 24 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User togapepperashi has 16 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User legodano has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User davesv has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User brihar22 has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nixgoat has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User hotchair has 76 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User OPOC has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User wrabbit has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User RandomZero has 38 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Snapperhed Studios has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User wingler has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ricardoastley has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User darkling23 has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User erasethesanity has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User elipsedeclipse has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User thampy has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User iaman00b has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Sauce.Pout has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User save20families has 12 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lll3nto has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TitanX420 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User pulpbank has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AwesomeAustn has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dunce has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FourTwenty has 18 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Slowbro14 has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User n0stal6ic has 33 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User harrypothed has 22 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User puresauce35 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nightmare_dronemk12 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User severedxties has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User CaptainNoFuture has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User filfilfil has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dressa1112 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Biffs_Media has 13 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ParadiseLost has 16 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FAUST has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Reemerge6193 has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ilikedmyoldname has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Luigi151 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User iiprisma has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User aRandomFurOnSlsk has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User sevenarts has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gombers04 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User GoldenDeus has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Unstoppable5378 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Borkus McJorkus has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tehfuture has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Grapeman69 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lpma has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User bigFlyingFan has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User locando has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User steakslim has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rikki has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User JTE1817 has 16 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gandr003 has 26 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lightandcoffee has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User breakone9r has 9 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Hexsagon has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Tebbisimo has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MyMindIsBlowing has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Marxist has 30 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Thaliboy has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MECHANICALANIMAL has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User greenandredandlil has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User catherine_millet69 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User axnxa has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User AfshinRecruiter has 8 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Krullakake has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User mfs:321 has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User assaub has 7 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User HugoTomas has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User petejwhizz has 19 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Lithim has 13 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User thlayli_x has 28 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Satani-Vitales has 12 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User terryvietheer has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Rolex has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User gronkle has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Audio_Dope2 has 10 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Chicken_Biscuit has 20 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User PWN3D_ has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User z161314885664123 has 19 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User SonicRings has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kerobaros has 217 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Datasmurf has 8 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User clf2008 has 85 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rummid has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User twiztor has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User 88STARSTUCK has 42 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User MusicLarry has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User conyeezy has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User YJWMY91Bk has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User guppies16 has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dmoe has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User theoddhermit has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Sprenless has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User RockCartel has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User itmightbemikey has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User guineahorn has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ta_face_esti has 27 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User isaacsw has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User catawawa has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Marliacea has 16 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User alilstinky has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jaxxthesynth has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dingbat69 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Deadbolt1209 has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User reverwinsskt has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User EJW has 11 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User crint has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User PHULES has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jeskola333 has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Divine Wind has 16 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ssb497 has 86 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tsubasa has 30 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User xcixxorx has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User lossless1024 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User waddaw has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TR!G33R has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User LeClonedeNivekHN has 18 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User maicasajusta has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Asterlina has 18 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User VinyrealDisease has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User btrx01 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User floralbeat has 17 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User nexuszeero has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User TurtleMasterVIIX has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User michaelwave has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User trek7008 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jf692 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User HALlowe2000 has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User stormcynk has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User rblotnicky has 20 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Snow~ has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User amd90 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Foe4 has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User amonem has 9 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User takeourcarsnow has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User zinnac has 19 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User campee has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User pugacioff has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User technosux has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dzejmsbond has 18 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User FlowerSunRain has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Basiv has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User VivaMoz! has 4 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User h23234 has 10 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User ReadyPlayer420 has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User imagines2014 has 7 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kino_ has 17 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User tunnik has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User jamon1234 has 6 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User PrOli has 15 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User +-+ has 3 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Sam-jam has 14 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User cktc has 50 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User pickledeyebrowed has 5 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User khudea has 0 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User estebanz has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User dioestar has 2 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User kgapak has 1 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Shadiness9250 has 30 files +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:353 - User Viridi2413 has 35 files +2025-07-12 10:28:31 - newmusic.soulseek_client - INFO - _process_search_responses:399 - Found 164 individual tracks and 189 albums +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:400 - Album detection details: 353 potential albums processed +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: shtluck/@@krhfj/Rotation/Kendrick Lamar/(2012) good kid, m.A.A.d city [ALBUM] -> 16 tracks +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: shtluck/@@krhfj/Rotation/Kendrick Lamar/(2015) To Pimp a Butterfly [ALBUM] -> 16 tracks +2025-07-12 10:28:31 - newmusic.soulseek_client - DEBUG - _process_search_responses:402 - Album: shtluck/@@krhfj/Rotation/Kendrick Lamar/(2016) untitled unmastered. [ALBUM] -> 8 tracks +2025-07-12 10:28:31 - newmusic.soulseek_client - INFO - search:617 - Processed results: 164 tracks, 189 albums +2025-07-12 10:28:31 - newmusic.soulseek_client - INFO - search:621 - Early termination: Found 250 responses, stopping search +2025-07-12 10:28:31 - newmusic.soulseek_client - INFO - search:632 - Search completed. Final results: 164 tracks and 189 albums for query: Kendrick album +2025-07-12 10:29:44 - newmusic.main - INFO - closeEvent:176 - Closing application... +2025-07-12 10:29:44 - newmusic.main - INFO - closeEvent:181 - Cleaning up Downloads page threads... +2025-07-12 10:29:44 - newmusic.main - INFO - closeEvent:186 - Stopping status monitoring thread... +2025-07-12 10:29:44 - newmusic.main - INFO - closeEvent:191 - Closing Soulseek client... +2025-07-12 10:29:44 - newmusic.main - INFO - closeEvent:197 - Application closed successfully diff --git a/ui/pages/__pycache__/downloads.cpython-312.pyc b/ui/pages/__pycache__/downloads.cpython-312.pyc index 6c0856d99d1cfe1f083feb32f0b76a207ec03794..725c72f372dd71901d31cab56cd60b664a06ce4e 100644 GIT binary patch delta 7438 zcma($3s_Xu)@ScMk2B1J!I|L=Gk_o{p!gtsp%ls$Q!w>bzHnql#CV<=Q)vh-d{Fjh zjk++ku>XFh)iuiWTzmYPkDE8^>ImMUsg$z6ztBFBvg~U4?|p`WA-(s;XKU78uf6u# zYpt`+>AlDFH}~pwr?lD-j{fal?Xw@wQ2}uto&OCgNmevMrL5lHkfjoTW~nXr^tlEs=7E<>E=|3`!Vh%d=%t!irp+ zGTAnUQtsZ!Ek(BMMtjk0-v*vPFy z^QO(_((V?|<>I$upr!`v#9i}n`yiRMogX2tsKiP=n3o`xyoDZS17yv{W1+eluXNXh zt6}l?#Ngf?8v%>wU=4PLf>p!@B6G>yVR94H)FO3*jc?*gcoqltC#_U|oa3CP0A^FY zg8Vp@RtKm-{E#5N<_>&y5MLYMH*w1$x&a$d6L|I@lY8>baNefbN$4Ir2yMXeZe5rW zO1iNTPBmZ?j97z>?$9uUpA@qOo7`zv`zZz~yrGSJU@ycqL6{Ahp8ehkty{2KJ%QsE zV2-Po*DIj&F%$v%Y@|U7H@b&z^D)xkCJt(6VpEjDCAaYprE=UWRGj@GZd0y|a}n75 z3H3(5hiGtM5z&Cd-8IQ-E+u%XaRLg3 z+Pyf!JxFfcro)g2( zyOKy}GY7&!bMHUolG2|`tq))g+|@Uez-wm?o7kpk+M zk)k?4h{e}WIBOvWu*6_B!jSbnHg21PwY?~GKY?@#+EFZZQ{dEEJlbfnR@p35%PZ`b zsntTI)#(trFbsF#weFH%bZ~S(PKHB|;b+vseY6zndhC&3HZ(HR9>W2Rj<^Ecre>Q}DsnM!X2kh2nKsM1KT+J+`9ruzWq9i|&Ub>v8*DDaWIynB4){uy~`3c*LEeX^w$)>0p-tf2zc zWo15MWy_V7R;XNuCl3-jsn9;;3v<|=B}>_%;Gd0nZqx?ac)lM*ce=iYYt8qLF7%8p zJUOOq^el*9kEbiXWsY2d>h-udY9keO1Vra}$4vK(nSOF=+nCvY(XM_`zKMzoR|yB^ z^|(-RDTwpL0M6wg&XWT;-}Q4$n|e8%a2It{_<(lZw0Q8G#pYBwBPb~F=}K1!g1w3! zuDrr&7ks9^wRBkH2E4h!r;|?ZEU{Kplq_*p`9gcwEOrthAV9-7U`-=BU`>NNU`^vZ zV7+98(^*~R5WZu+s)SL@&5j~=rW|&Uypv{3iBP@L7b0O5)+P1|pOU&%@{oPCk1*dt zdVOP3nqFLzbFgR8VvEHB-VJ!1yi7(f53W9fGa4ciThiLX(>JO+c!QTu@$e}v!rrXC zOIj1!`Oy+B-owW?*S7NsKPWh(**$S1-@)s>e2j;WY0his-7zywE?j4O$eD5fZfqG!muWJo8~D_{CC%zz=yihjS1Q5L(zXcM z6d5aYQ?)vCe)Y<#ifXIPQEV-yUFXqLRZ8#mV z$zujGW!q$Id=rQZ)#Iu!%D8&$LiyZ6AD#Y)vv-!|=s;&v21Yz#m5aE;!i_Sa!jI_l zxu<2NxQr{s3&&DD8FXh6I!k|p40Mj;dv}6PFOE%@Hp4F2GkDW@85=NVF1Z73qL%9E zEa_5|u46njqgqFEZzkAQ$(#(QF`Cl?w_``^-34E5tlNWtLK}*x(}s6r4DPO_{7W~ ze(EJCuVPa~*1xb6c8VT5SP$}gdTmF#R7;UG+-Vy7UP%x~x34{gjPBN_jr3ONv=&F$ z?4R&4&QjU5b@a`sK15oE!|6T5I4s1a3WOTb!*0rvan8IxZ~ERJSkT;yuExWNmyi)| zjYL|M2ajmzh+Ff6im07=aQ-vj?bEzqDkVK4?Y;p^%LOj2|LWlHJFs%F&St!m z)6|G*7pbFlQm<=*tLsr(k}ce&qvQx_@5tVLl!4nr+-l+%#I`7?*@>g3M(-lQ+)|8a z4b;n4a%nMj|&g7ZK#VfY03* z>Tfq%Y0mKXExXO94`3yN-LayA4!DQuTp~}+~D079IyDEb)y^bMGGBBVlCd-3{PxEtIRth z&qM#k<~7ae(1v-n7LV4_@`tn9^p1c`Fk{+TZAK8IGawUWXXA`+1*g$_)yW=p@?O(f zb!LY--J^-6R7>I+O>9T>ke&ukr_I@{_{tF7oZXVsZb)wp7vtWD>l`=vy^O;dKXPb@ z9krS|QZruD?$dfx$9q!8x1~-zV)W+C_vFp@=2<;?*0#LTv#F&$giFonmJ~J@`G3ER zNa;))-mL2wF{xSC9+}Y*nd*%k?ui`Usyi1siB2q$=E=82uFu8mNra14JE^~$Fb)&S=0?jPO#nJ@(FBLjArsfAmj*b zFrSDGf5o+0bWOb4hT~NVsiba#>2th4&CCw4g;mxz2DURGm5fw8!6U%s&+(^yBf#I! z<575Fs7Nm0(=x?ewppToj`;2(eOcTj-nfYKFnSOsevOCHv0~ZRcnwDT#c#jCQxIAN z!@KCS_APNi7Y@b93>BBDn@7YgmvMqBTB=j2VkJj{8UUQWhVN5GFqflbkoqGoQr@I> zB}CJige@daY%d4tDJM<_Lw~}%M^`bOKEpm)X?4wN|2f_4#Qjm&%9igjV1Zjd;W%9a z)BK6$M5X#^>$(1R4c{5aOtcav z7)hGa!n~NkZM%+R|6NEG(v{DJPmClZ+aE)wm`MR01Eto=){&&t()R=B^dy;;EDf$sBRW(9&8GTYXJ`+EWC7C=LBWjX~ z7NKV#I)$vG--TOJNCLVb9!(*S%jt4zI=Kraz@zD82+j%m{jpd6z_YG=nxXYI*;s7_ZblOgK|DuqIip`CNb4mzPzg3vCMA! zMs&|7*W^^C$x3F?pHHnMpE_?@LQ)iO_sPe=`Duj5IfKO7C8P_XcVK~yq~L-lT6+|$smic)jnkiH< z@PV`$qg{gM50HguC)_+h%Fr{S?M>QG6kUvU3m!R0wj!q(c8Dz1AP=lMN*=}YjpFsA z)G#W8}*71a*=l!xi3zmGxhB}ef{ zx%>TS1N@(tn9*5L*+Et+P_fu>p0ps8C0aVkYY5Ba;Q4~ID8{mLj)Rq760@4VqtbrQ zKo0Ewk~Yc5;KY|?1D!NxTqFyX)W$1aBu9>3hOe#=7rxgdF6kz*SpPCpkwQL`x>qW5 zXMJQ8U+f_dDAYkLkpE0(;Q~2ac?(BDVK>n#O3Iz~%DrOa&*TY&3L*3ci8h^J#-xII zlVMUpoP*pOBtdw@qi!`3pehk?;dd^Q9BV9U7- zdyoO?NwJ7w(wMN2VeFAB{8ci*F!q!Y<}0X8WJ(%`V0VXw*>D2!w%>!$+ii~?(S z!aEEcVt_Rm0hqyN20mfSPZ_wtfK=jJBoPLh8Q8%2_y delta 4811 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%0A3aJn=f3&c7a6q4aO z7pqo<@J*>q?iL&;e|#;NZPBzNIz%n#PTVO~8)WLrEa**xb~)2Lh&I<@3Y}^}yRfPk zTW~vwRg||BlWETqbVd`exRPPL5*A7EbZ!aei)_`?ic!6i`7wQkq~si$y%cW|qtxe? z;uyX2an^o=-G7TAnkzj_-z`U+i38!#RsUeT^>Oh`P(r?rt6A! z^vLX&$2Smm#HmNx@qS@=P)f>7-?askO|xq5ul0G~jHCZ~3itQZPX4rX{rd3DWd)C> z5OuXQ4#cU!Un1bJKH+B%5_sdgnVQ4h<5eEscp%O6t1a?G56O?pE!bZ#KQqNPEU`St zdhf8xe!6uVmczf})V6K-j!QhOPThkCK-8-lZ{VMWctkz(CmaI(9jq~pSDM7s3D%vb z-IN&e`2f~Z#a_&n!FXUVj!Rz7Voj`2$MCkcn6@k(+>6u2e9C_t?-PD?{o5ET4Eve& zH`=ie*U2t0c0bOF79I4$hqw^FiB|`GBn=BA{k$8C(1FzIMf|4 z`OS&fcc7WI^$osp56a8q92#>P-+)+s_>al)l=K<8ML;e74Cfj|fx7EUd|FsycwYrF z0yTcBiBd|)?uATxJqN7n-g7de;bVpHJU(qmWWgkQ{ye%Z$xOQ#66nx**;i}m!g+i| zUP%^xjnj?N_+KyM2)+C|aG?@{&mHRHsH8$n8>?t%kthA0sf33daHw5+}`0osSc@1n~Sj_M&Lp)2~#PAUhik}O5c6npoU&0At10oyBoTXCws5Q-e_qGG+CAVu3=tUP diff --git a/ui/pages/downloads.py b/ui/pages/downloads.py index 3cac3053..9dcf602a 100644 --- a/ui/pages/downloads.py +++ b/ui/pages/downloads.py @@ -3246,7 +3246,7 @@ class DownloadsPage(QWidget): self.search_results_widget = QWidget() self.search_results_layout = QVBoxLayout(self.search_results_widget) - self.search_results_layout.setSpacing(16) # Increased for better card separation and visual breathing room + self.search_results_layout.setSpacing(8) # Reduced spacing for more compact search results self.search_results_layout.setContentsMargins(12, 12, 12, 12) # Increased for better edge spacing # Add centered loading animation for search results area @@ -3361,9 +3361,9 @@ class DownloadsPage(QWidget): return container def create_filter_controls(self): - """Create elegant filter controls for Albums vs Singles""" + """Create elegant filter controls for Albums vs Singles and File Formats""" container = QFrame() - container.setFixedHeight(55) + container.setFixedHeight(85) # Increased height for two rows of filters container.setStyleSheet(""" QFrame { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, @@ -3374,16 +3374,19 @@ class DownloadsPage(QWidget): } """) - layout = QHBoxLayout(container) - layout.setContentsMargins(16, 8, 16, 8) - layout.setSpacing(8) + main_layout = QVBoxLayout(container) + main_layout.setContentsMargins(16, 8, 16, 8) + main_layout.setSpacing(6) - # Filter label - filter_label = QLabel("Filter:") - filter_label.setStyleSheet(""" + # First row: Type filters (Albums vs Singles) + type_row = QHBoxLayout() + type_row.setSpacing(8) + + type_label = QLabel("Type:") + type_label.setStyleSheet(""" QLabel { color: rgba(255, 255, 255, 0.8); - font-size: 12px; + font-size: 11px; font-weight: 600; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; letter-spacing: 0.3px; @@ -3392,35 +3395,95 @@ class DownloadsPage(QWidget): # Initialize filter state self.current_filter = "all" # "all", "albums", "singles" + self.current_format_filter = "all" # "all", "flac", "mp3", "ogg", "aac", "wma" - # Filter buttons with toggle behavior + # Type filter buttons self.filter_all_btn = QPushButton("All") self.filter_albums_btn = QPushButton("Albums") self.filter_singles_btn = QPushButton("Singles") - # Store buttons for easy access + # Store type buttons for easy access self.filter_buttons = { "all": self.filter_all_btn, "albums": self.filter_albums_btn, "singles": self.filter_singles_btn } - # Connect button signals + # Connect type button signals self.filter_all_btn.clicked.connect(lambda: self.set_filter("all")) self.filter_albums_btn.clicked.connect(lambda: self.set_filter("albums")) self.filter_singles_btn.clicked.connect(lambda: self.set_filter("singles")) - # Apply styling to all buttons + # Apply styling to type buttons for btn_key, btn in self.filter_buttons.items(): - btn.setFixedHeight(32) - btn.setMinimumWidth(65) - self.update_filter_button_style(btn, btn_key == "all") # "All" starts active + btn.setFixedHeight(28) + btn.setMinimumWidth(60) + self.update_filter_button_style(btn, btn_key == "all") - layout.addWidget(filter_label) - layout.addWidget(self.filter_all_btn) - layout.addWidget(self.filter_albums_btn) - layout.addWidget(self.filter_singles_btn) - layout.addStretch() + type_row.addWidget(type_label) + type_row.addWidget(self.filter_all_btn) + type_row.addWidget(self.filter_albums_btn) + type_row.addWidget(self.filter_singles_btn) + type_row.addStretch() + + # Second row: Format filters + format_row = QHBoxLayout() + format_row.setSpacing(8) + + format_label = QLabel("Format:") + format_label.setStyleSheet(""" + QLabel { + color: rgba(255, 255, 255, 0.8); + font-size: 11px; + font-weight: 600; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + letter-spacing: 0.3px; + } + """) + + # Format filter buttons + self.format_all_btn = QPushButton("All") + self.format_flac_btn = QPushButton("FLAC") + self.format_mp3_btn = QPushButton("MP3") + self.format_ogg_btn = QPushButton("OGG") + self.format_aac_btn = QPushButton("AAC") + self.format_wma_btn = QPushButton("WMA") + + # Store format buttons for easy access + self.format_buttons = { + "all": self.format_all_btn, + "flac": self.format_flac_btn, + "mp3": self.format_mp3_btn, + "ogg": self.format_ogg_btn, + "aac": self.format_aac_btn, + "wma": self.format_wma_btn + } + + # Connect format button signals + self.format_all_btn.clicked.connect(lambda: self.set_format_filter("all")) + self.format_flac_btn.clicked.connect(lambda: self.set_format_filter("flac")) + self.format_mp3_btn.clicked.connect(lambda: self.set_format_filter("mp3")) + self.format_ogg_btn.clicked.connect(lambda: self.set_format_filter("ogg")) + self.format_aac_btn.clicked.connect(lambda: self.set_format_filter("aac")) + self.format_wma_btn.clicked.connect(lambda: self.set_format_filter("wma")) + + # Apply styling to format buttons + for btn_key, btn in self.format_buttons.items(): + btn.setFixedHeight(28) + btn.setMinimumWidth(50) + self.update_filter_button_style(btn, btn_key == "all") + + format_row.addWidget(format_label) + format_row.addWidget(self.format_all_btn) + format_row.addWidget(self.format_flac_btn) + format_row.addWidget(self.format_mp3_btn) + format_row.addWidget(self.format_ogg_btn) + format_row.addWidget(self.format_aac_btn) + format_row.addWidget(self.format_wma_btn) + format_row.addStretch() + + main_layout.addLayout(type_row) + main_layout.addLayout(format_row) return container @@ -3494,20 +3557,53 @@ class DownloadsPage(QWidget): # Apply the filter to current results self.apply_filter() + def set_format_filter(self, format_type): + """Set the current format filter and update button styles""" + self.current_format_filter = format_type + + # Update format button styles + for btn_key, btn in self.format_buttons.items(): + self.update_filter_button_style(btn, btn_key == format_type) + + # Apply the filter to current results + self.apply_filter() + def apply_filter(self): - """Apply the current filter to search results""" + """Apply the current type and format filters to search results""" if not hasattr(self, '_temp_tracks') or not hasattr(self, '_temp_albums'): return - # Get the filtered results based on current filter + # First, filter by type (Albums vs Singles) if self.current_filter == "all": - filtered_results = self._temp_albums + self._temp_tracks + type_filtered = self._temp_albums + self._temp_tracks elif self.current_filter == "albums": - filtered_results = self._temp_albums + type_filtered = self._temp_albums elif self.current_filter == "singles": - filtered_results = self._temp_tracks + type_filtered = self._temp_tracks else: - filtered_results = self._temp_albums + self._temp_tracks + type_filtered = self._temp_albums + self._temp_tracks + + # Then, filter by format + if self.current_format_filter == "all": + filtered_results = type_filtered + else: + # Filter results by file format + filtered_results = [] + for result in type_filtered: + # For albums, check if any tracks match the format + if hasattr(result, 'tracks') and result.tracks: + # Album result - check if any tracks match format + matching_tracks = [track for track in result.tracks + if track.quality.lower() == self.current_format_filter.lower()] + if matching_tracks: + # Create a copy of the album with only matching tracks + filtered_album = result + filtered_album.tracks = matching_tracks + filtered_results.append(filtered_album) + else: + # Single track result - check format directly + if hasattr(result, 'quality') and result.quality.lower() == self.current_format_filter.lower(): + filtered_results.append(result) # Update the filtered results cache for pagination self.current_filtered_results = filtered_results