basic downloads
This commit is contained in:
parent
11a1343217
commit
fc9b5f375a
5 changed files with 777 additions and 249 deletions
Binary file not shown.
|
|
@ -201,7 +201,40 @@ class SoulseekClient:
|
|||
except:
|
||||
pass
|
||||
|
||||
async def search(self, query: str, timeout: int = 10) -> List[SearchResult]:
|
||||
def _process_search_responses(self, responses_data: List[Dict[str, Any]]) -> List[SearchResult]:
|
||||
"""Process search response data into SearchResult objects"""
|
||||
search_results = []
|
||||
|
||||
logger.debug(f"Processing {len(responses_data)} user responses")
|
||||
|
||||
for response_data in responses_data:
|
||||
username = response_data.get('username', '')
|
||||
files = response_data.get('files', [])
|
||||
logger.debug(f"User {username} has {len(files)} files")
|
||||
|
||||
for file_data in files:
|
||||
filename = file_data.get('filename', '')
|
||||
size = file_data.get('size', 0)
|
||||
|
||||
file_ext = Path(filename).suffix.lower().lstrip('.')
|
||||
quality = file_ext if file_ext in ['flac', 'mp3', 'ogg', 'aac', 'wma'] else 'unknown'
|
||||
|
||||
result = SearchResult(
|
||||
username=username,
|
||||
filename=filename,
|
||||
size=size,
|
||||
bitrate=file_data.get('bitRate'),
|
||||
duration=file_data.get('length'),
|
||||
quality=quality,
|
||||
free_upload_slots=response_data.get('freeUploadSlots', 0),
|
||||
upload_speed=response_data.get('uploadSpeed', 0),
|
||||
queue_length=response_data.get('queueLength', 0)
|
||||
)
|
||||
search_results.append(result)
|
||||
|
||||
return search_results
|
||||
|
||||
async def search(self, query: str, timeout: int = 30) -> List[SearchResult]:
|
||||
if not self.base_url:
|
||||
logger.error("Soulseek client not configured")
|
||||
return []
|
||||
|
|
@ -233,59 +266,40 @@ class SoulseekClient:
|
|||
|
||||
logger.info(f"Search initiated with ID: {search_id}")
|
||||
|
||||
# Wait for search to complete (reduced timeout for testing)
|
||||
await asyncio.sleep(timeout)
|
||||
# Poll for results instead of blocking sleep - like web interface does
|
||||
all_results = []
|
||||
poll_interval = 1.5 # Check every 1.5 seconds for more responsive updates
|
||||
max_polls = int(timeout / poll_interval) # 20 attempts over 30 seconds
|
||||
|
||||
logger.debug(f"Getting results for search ID: {search_id}")
|
||||
|
||||
# Use the correct endpoint to get search responses (actual files)
|
||||
responses_data = await self._make_request('GET', f'searches/{search_id}/responses')
|
||||
if not responses_data:
|
||||
logger.error("No response from search responses GET request")
|
||||
return []
|
||||
|
||||
logger.debug(f"Responses data type: {type(responses_data)}")
|
||||
logger.debug(f"Responses data length: {len(responses_data) if isinstance(responses_data, list) else 'Not a list'}")
|
||||
|
||||
search_results = []
|
||||
|
||||
# responses_data should be a list of user responses
|
||||
if isinstance(responses_data, list):
|
||||
responses = responses_data
|
||||
else:
|
||||
logger.error(f"Expected list of responses, got: {type(responses_data)}")
|
||||
return []
|
||||
for poll_count in range(max_polls):
|
||||
logger.debug(f"Polling for results (attempt {poll_count + 1}/{max_polls}) - elapsed: {poll_count * poll_interval:.1f}s")
|
||||
|
||||
logger.info(f"Processing {len(responses)} user responses")
|
||||
|
||||
for response_data in responses:
|
||||
username = response_data.get('username', '')
|
||||
files = response_data.get('files', [])
|
||||
logger.debug(f"User {username} has {len(files)} files")
|
||||
# Get current search responses
|
||||
responses_data = await self._make_request('GET', f'searches/{search_id}/responses')
|
||||
if responses_data and isinstance(responses_data, list):
|
||||
current_results = self._process_search_responses(responses_data)
|
||||
|
||||
# Add new unique results
|
||||
existing_filenames = {r.filename for r in all_results}
|
||||
new_results = [r for r in current_results if r.filename not in existing_filenames]
|
||||
all_results.extend(new_results)
|
||||
|
||||
if new_results:
|
||||
logger.info(f"Found {len(new_results)} new results (total: {len(all_results)}) at {poll_count * poll_interval:.1f}s")
|
||||
elif len(all_results) > 0:
|
||||
logger.debug(f"No new results, total still: {len(all_results)}")
|
||||
else:
|
||||
logger.debug(f"Still waiting for results... ({poll_count * poll_interval:.1f}s elapsed)")
|
||||
|
||||
for file_data in files:
|
||||
filename = file_data.get('filename', '')
|
||||
size = file_data.get('size', 0)
|
||||
|
||||
file_ext = Path(filename).suffix.lower().lstrip('.')
|
||||
quality = file_ext if file_ext in ['flac', 'mp3', 'ogg', 'aac', 'wma'] else 'unknown'
|
||||
|
||||
result = SearchResult(
|
||||
username=username,
|
||||
filename=filename,
|
||||
size=size,
|
||||
bitrate=file_data.get('bitRate'),
|
||||
duration=file_data.get('length'),
|
||||
quality=quality,
|
||||
free_upload_slots=response_data.get('freeUploadSlots', 0),
|
||||
upload_speed=response_data.get('uploadSpeed', 0),
|
||||
queue_length=response_data.get('queueLength', 0)
|
||||
)
|
||||
search_results.append(result)
|
||||
# Wait before next poll (unless this is the last attempt)
|
||||
if poll_count < max_polls - 1:
|
||||
await asyncio.sleep(poll_interval)
|
||||
|
||||
search_results.sort(key=lambda x: x.quality_score, reverse=True)
|
||||
logger.info(f"Found {len(search_results)} results for query: {query}")
|
||||
return search_results
|
||||
logger.info(f"Search completed. Found {len(all_results)} total results for query: {query}")
|
||||
|
||||
# Sort by quality score and return
|
||||
all_results.sort(key=lambda x: x.quality_score, reverse=True)
|
||||
return all_results
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error searching: {e}")
|
||||
|
|
@ -301,10 +315,12 @@ class SoulseekClient:
|
|||
|
||||
# Use the exact format observed in the web interface
|
||||
# Payload: [{filename: "...", size: 123}] - array of files
|
||||
# Try adding path parameter to see if slskd supports custom download paths
|
||||
download_data = [
|
||||
{
|
||||
"filename": filename,
|
||||
"size": file_size
|
||||
"size": file_size,
|
||||
"path": str(self.download_path) # Try custom download path
|
||||
}
|
||||
]
|
||||
|
||||
|
|
|
|||
481
logs/app.log
481
logs/app.log
|
|
@ -3955,3 +3955,484 @@
|
|||
2025-07-09 21:44:16 - newmusic.main - [92mINFO[0m - closeEvent:162 - Stopping status monitoring thread...
|
||||
2025-07-09 21:44:16 - newmusic.main - [92mINFO[0m - closeEvent:167 - Closing Soulseek client...
|
||||
2025-07-09 21:44:16 - newmusic.main - [92mINFO[0m - closeEvent:173 - Application closed successfully
|
||||
2025-07-09 21:44:40 - newmusic - [92mINFO[0m - setup_logging:57 - Logging initialized with level: DEBUG
|
||||
2025-07-09 21:44:40 - newmusic.main - [92mINFO[0m - main:187 - Starting NewMusic application
|
||||
2025-07-09 21:44:40 - newmusic.spotify_client - [92mINFO[0m - _setup_client:84 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-09 21:44:40 - newmusic.plex_client - [92mINFO[0m - _find_music_library:98 - Found music library: Music
|
||||
2025-07-09 21:44:40 - newmusic.plex_client - [92mINFO[0m - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE
|
||||
2025-07-09 21:44:40 - newmusic.soulseek_client - [92mINFO[0m - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030
|
||||
2025-07-09 21:44:41 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: dashboard
|
||||
2025-07-09 21:44:41 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Aether
|
||||
2025-07-09 21:44:41 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists
|
||||
2025-07-09 21:44:42 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: downloads
|
||||
2025-07-09 21:44:43 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Brittnea
|
||||
2025-07-09 21:44:44 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Baleigh
|
||||
2025-07-09 21:44:46 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Extra Music
|
||||
2025-07-09 21:44:47 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main
|
||||
2025-07-09 21:44:52 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Broque Main
|
||||
2025-07-09 21:44:59 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:113 - Retrieved 7 playlists
|
||||
2025-07-09 21:51:01 - newmusic.main - [92mINFO[0m - closeEvent:152 - Closing application...
|
||||
2025-07-09 21:51:01 - newmusic.main - [92mINFO[0m - closeEvent:157 - Cleaning up Downloads page threads...
|
||||
2025-07-09 21:51:01 - newmusic.main - [92mINFO[0m - closeEvent:162 - Stopping status monitoring thread...
|
||||
2025-07-09 21:51:03 - newmusic.main - [92mINFO[0m - closeEvent:167 - Closing Soulseek client...
|
||||
2025-07-09 21:51:03 - newmusic.main - [92mINFO[0m - closeEvent:173 - Application closed successfully
|
||||
2025-07-09 21:57:34 - newmusic - [92mINFO[0m - setup_logging:57 - Logging initialized with level: DEBUG
|
||||
2025-07-09 21:57:34 - newmusic.main - [92mINFO[0m - main:187 - Starting NewMusic application
|
||||
2025-07-09 21:57:34 - newmusic.spotify_client - [92mINFO[0m - _setup_client:84 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-09 21:57:34 - newmusic.plex_client - [92mINFO[0m - _find_music_library:98 - Found music library: Music
|
||||
2025-07-09 21:57:34 - newmusic.plex_client - [92mINFO[0m - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE
|
||||
2025-07-09 21:57:34 - newmusic.soulseek_client - [92mINFO[0m - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030
|
||||
2025-07-09 21:57:35 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: dashboard
|
||||
2025-07-09 21:57:35 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Aether
|
||||
2025-07-09 21:57:35 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists
|
||||
2025-07-09 21:57:38 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Brittnea
|
||||
2025-07-09 21:57:39 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Baleigh
|
||||
2025-07-09 21:57:40 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Extra Music
|
||||
2025-07-09 21:57:41 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main
|
||||
2025-07-09 21:57:46 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Broque Main
|
||||
2025-07-09 21:57:46 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: sync
|
||||
2025-07-09 21:57:53 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:113 - Retrieved 7 playlists
|
||||
2025-07-09 21:57:57 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: downloads
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [92mINFO[0m - search:243 - Starting search for: 'Virtual Mage'
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - search:253 - Search data: {'searchText': 'Virtual Mage', 'timeout': 15000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - search:254 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:112 - JSON payload: {'searchText': 'Virtual Mage', 'timeout': 15000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: {"fileCount":0,"id":"6ea08485-f94a-49cd-8fc1-bbd0813a7422","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"Virtual Mage","startedAt":"2025-07-10T04:58:03.4074246Z","state":"InProgress","token":92}...
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [92mINFO[0m - search:267 - Search initiated with ID: 6ea08485-f94a-49cd-8fc1-bbd0813a7422
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 1/7)
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:05 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 2/7)
|
||||
2025-07-09 21:58:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:07 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 3/7)
|
||||
2025-07-09 21:58:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:08 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:08 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:10 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 4/7)
|
||||
2025-07-09 21:58:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:12 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 5/7)
|
||||
2025-07-09 21:58:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:14 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 6/7)
|
||||
2025-07-09 21:58:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:15 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:15 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:17 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 7/7)
|
||||
2025-07-09 21:58:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6ea08485-f94a-49cd-8fc1-bbd0813a7422/responses
|
||||
2025-07-09 21:58:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:19 - newmusic.soulseek_client - [92mINFO[0m - search:293 - Search completed. Found 0 total results for query: Virtual Mage
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [92mINFO[0m - search:243 - Starting search for: 'Virtual Mage - Aether'
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - search:253 - Search data: {'searchText': 'Virtual Mage - Aether', 'timeout': 15000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - search:254 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:112 - JSON payload: {'searchText': 'Virtual Mage - Aether', 'timeout': 15000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: {"fileCount":0,"id":"6667776b-fbc6-4c69-8997-df5702cd4df0","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"Virtual Mage - Aether","startedAt":"2025-07-10T04:58:44.5710082Z","state":"InProgress","token":93}...
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [92mINFO[0m - search:267 - Search initiated with ID: 6667776b-fbc6-4c69-8997-df5702cd4df0
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 1/7)
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:44 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:46 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 2/7)
|
||||
2025-07-09 21:58:46 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:46 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:47 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:47 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:49 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 3/7)
|
||||
2025-07-09 21:58:49 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:49 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:49 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:49 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:51 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 4/7)
|
||||
2025-07-09 21:58:51 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:51 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:51 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:51 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:53 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 5/7)
|
||||
2025-07-09 21:58:53 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:53 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:53 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:53 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:55 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 6/7)
|
||||
2025-07-09 21:58:55 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:55 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:58:58 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 7/7)
|
||||
2025-07-09 21:58:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/6667776b-fbc6-4c69-8997-df5702cd4df0/responses
|
||||
2025-07-09 21:58:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 21:58:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 21:58:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 21:59:00 - newmusic.soulseek_client - [92mINFO[0m - search:293 - Search completed. Found 0 total results for query: Virtual Mage - Aether
|
||||
2025-07-09 22:01:02 - newmusic.main - [92mINFO[0m - closeEvent:152 - Closing application...
|
||||
2025-07-09 22:01:02 - newmusic.main - [92mINFO[0m - closeEvent:157 - Cleaning up Downloads page threads...
|
||||
2025-07-09 22:01:02 - newmusic.main - [92mINFO[0m - closeEvent:162 - Stopping status monitoring thread...
|
||||
2025-07-09 22:01:02 - newmusic.main - [92mINFO[0m - closeEvent:167 - Closing Soulseek client...
|
||||
2025-07-09 22:01:02 - newmusic.main - [92mINFO[0m - closeEvent:173 - Application closed successfully
|
||||
2025-07-09 22:02:15 - newmusic - [92mINFO[0m - setup_logging:57 - Logging initialized with level: DEBUG
|
||||
2025-07-09 22:02:15 - newmusic.main - [92mINFO[0m - main:187 - Starting NewMusic application
|
||||
2025-07-09 22:02:15 - newmusic.spotify_client - [92mINFO[0m - _setup_client:84 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-09 22:02:45 - newmusic.plex_client - [91mERROR[0m - _setup_client:87 - Failed to connect to Plex server: HTTPConnectionPool(host='192.168.86.36', port=32400): Read timed out. (read timeout=30)
|
||||
2025-07-09 22:02:45 - newmusic.soulseek_client - [92mINFO[0m - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030
|
||||
2025-07-09 22:02:46 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: dashboard
|
||||
2025-07-09 22:02:46 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Aether
|
||||
2025-07-09 22:02:46 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists
|
||||
2025-07-09 22:02:49 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Brittnea
|
||||
2025-07-09 22:02:49 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Baleigh
|
||||
2025-07-09 22:02:51 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Extra Music
|
||||
2025-07-09 22:02:52 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main
|
||||
2025-07-09 22:02:54 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: settings
|
||||
2025-07-09 22:02:57 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Broque Main
|
||||
2025-07-09 22:03:04 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:113 - Retrieved 7 playlists
|
||||
2025-07-09 22:03:26 - newmusic.plex_client - [91mERROR[0m - _setup_client:87 - Failed to connect to Plex server: HTTPConnectionPool(host='192.168.86.36', port=32400): Read timed out. (read timeout=30)
|
||||
2025-07-09 22:04:22 - newmusic.plex_client - [92mINFO[0m - _find_music_library:98 - Found music library: Music
|
||||
2025-07-09 22:04:22 - newmusic.plex_client - [92mINFO[0m - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE
|
||||
2025-07-09 22:04:24 - newmusic.main - [92mINFO[0m - closeEvent:152 - Closing application...
|
||||
2025-07-09 22:04:24 - newmusic.main - [92mINFO[0m - closeEvent:157 - Cleaning up Downloads page threads...
|
||||
2025-07-09 22:04:24 - newmusic.main - [92mINFO[0m - closeEvent:162 - Stopping status monitoring thread...
|
||||
2025-07-09 22:04:25 - newmusic.main - [92mINFO[0m - closeEvent:167 - Closing Soulseek client...
|
||||
2025-07-09 22:04:25 - newmusic.main - [92mINFO[0m - closeEvent:173 - Application closed successfully
|
||||
2025-07-09 22:04:28 - newmusic - [92mINFO[0m - setup_logging:57 - Logging initialized with level: DEBUG
|
||||
2025-07-09 22:04:28 - newmusic.main - [92mINFO[0m - main:187 - Starting NewMusic application
|
||||
2025-07-09 22:04:28 - newmusic.spotify_client - [92mINFO[0m - _setup_client:84 - Successfully authenticated with Spotify as broquethomas
|
||||
2025-07-09 22:04:28 - newmusic.plex_client - [92mINFO[0m - _find_music_library:98 - Found music library: Music
|
||||
2025-07-09 22:04:28 - newmusic.plex_client - [92mINFO[0m - _setup_client:84 - Successfully connected to Plex server: PLEX-MACHINE
|
||||
2025-07-09 22:04:28 - newmusic.soulseek_client - [92mINFO[0m - _setup_client:87 - Soulseek client configured with slskd at http://localhost:5030
|
||||
2025-07-09 22:04:29 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: dashboard
|
||||
2025-07-09 22:04:29 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Aether
|
||||
2025-07-09 22:04:29 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Favorite Artists
|
||||
2025-07-09 22:04:32 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Brittnea
|
||||
2025-07-09 22:04:33 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Baleigh
|
||||
2025-07-09 22:04:34 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Extra Music
|
||||
2025-07-09 22:04:35 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Maggi Main
|
||||
2025-07-09 22:04:40 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:106 - Fetching tracks for playlist: Broque Main
|
||||
2025-07-09 22:04:46 - newmusic.spotify_client - [92mINFO[0m - get_user_playlists:113 - Retrieved 7 playlists
|
||||
2025-07-09 22:04:50 - newmusic.main - [92mINFO[0m - change_page:139 - Changed to page: downloads
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [92mINFO[0m - search:243 - Starting search for: 'virtual mage'
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - search:253 - Search data: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - search:254 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/searches
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:112 - JSON payload: {'searchText': 'virtual mage', 'timeout': 30000, 'filterResponses': True, 'minimumResponseFileCount': 1, 'minimumPeerUploadSpeed': 0}
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: {"fileCount":0,"id":"d3790420-d533-495a-8ae4-fa21a572eaaa","isComplete":false,"lockedFileCount":0,"responseCount":0,"responses":[],"searchText":"virtual mage","startedAt":"2025-07-10T05:04:56.4191321Z","state":"InProgress","token":94}...
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [92mINFO[0m - search:267 - Search initiated with ID: d3790420-d533-495a-8ae4-fa21a572eaaa
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 1/20) - elapsed: 0.0s
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:04:56 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:04:58 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 2/20) - elapsed: 1.5s
|
||||
2025-07-09 22:04:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:04:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:04:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:04:58 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:04:59 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 3/20) - elapsed: 3.0s
|
||||
2025-07-09 22:04:59 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:04:59 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:00 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:00 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:01 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 4/20) - elapsed: 4.5s
|
||||
2025-07-09 22:05:01 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:01 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:02 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:02 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:03 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 5/20) - elapsed: 6.0s
|
||||
2025-07-09 22:05:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:03 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:05 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 6/20) - elapsed: 7.5s
|
||||
2025-07-09 22:05:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:05 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:07 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 7/20) - elapsed: 9.0s
|
||||
2025-07-09 22:05:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:07 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:08 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 8/20) - elapsed: 10.5s
|
||||
2025-07-09 22:05:08 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:08 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:09 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:09 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:10 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 9/20) - elapsed: 12.0s
|
||||
2025-07-09 22:05:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:10 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:12 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 10/20) - elapsed: 13.5s
|
||||
2025-07-09 22:05:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:12 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: []...
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 11/20) - elapsed: 15.0s
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:14 - newmusic.soulseek_client - [92mINFO[0m - search:288 - Found 406 new results (total: 406) at 15.0s
|
||||
2025-07-09 22:05:15 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 12/20) - elapsed: 16.5s
|
||||
2025-07-09 22:05:15 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:15 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:16 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:17 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 13/20) - elapsed: 18.0s
|
||||
2025-07-09 22:05:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:17 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:18 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 14/20) - elapsed: 19.5s
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:19 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 15/20) - elapsed: 21.0s
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:21 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 16/20) - elapsed: 22.5s
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:23 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:24 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 17/20) - elapsed: 24.0s
|
||||
2025-07-09 22:05:24 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:24 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:25 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 18/20) - elapsed: 25.5s
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:26 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 19/20) - elapsed: 27.0s
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:28 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - search:275 - Polling for results (attempt 20/20) - elapsed: 28.5s
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making GET request to: http://localhost:5030/api/v0/searches/d3790420-d533-495a-8ae4-fa21a572eaaa/responses
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 200
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: [{"fileCount":2,"files":[{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\03 - Virtual Mage - Breaking the Dream (Lucid Dream Edit).ogg","isVariableBitRate":false,"length":256,"size":6269644,"isLocked":false},{"bitRate":160,"code":1,"extension":"","filename":"Music\\aofd3\\Mallsoft & Shopping Mall Ambience\\09 - Virtual Mage - Moondust.ogg","isVariableBitRate":false,"length":138,"size":4266916,"isLocked":false}],"hasFreeUploadSlot":true,"lockedF...
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:208 - Processing 17 user responses
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User zeroscan has 2 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User buk4 has 1 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Letham has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User nightmare_dronemk12 has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Ultravod has 9 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User RuuqoHoosk has 346 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User koalabeer has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User raspberry2 has 10 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User KindaRatchet has 1 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User HomotopicCensorship has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Kaya-Sem has 1 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User belthane has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User leonardoclk has 3 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Dax_VR has 10 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User exsanguinidraculae has 2 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User ofoijacussa has 0 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - _process_search_responses:213 - User Shooby has 6 files
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [94mDEBUG[0m - search:290 - No new results, total still: 406
|
||||
2025-07-09 22:05:30 - newmusic.soulseek_client - [92mINFO[0m - search:298 - Search completed. Found 406 total results for query: virtual mage
|
||||
2025-07-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - download:314 - Attempting to download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4 (size: 8344437)
|
||||
2025-07-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - download:327 - 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-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - download:331 - Trying web interface endpoint: transfers/downloads/buk4
|
||||
2025-07-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:109 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/buk4
|
||||
2025-07-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:110 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'}
|
||||
2025-07-09 22:05:45 - newmusic.soulseek_client - [94mDEBUG[0m - _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-09 22:05:46 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:121 - Response status: 201
|
||||
2025-07-09 22:05:46 - newmusic.soulseek_client - [94mDEBUG[0m - _make_request:122 - Response text: ...
|
||||
2025-07-09 22:05:46 - newmusic.soulseek_client - [92mINFO[0m - download:336 - [SUCCESS] Started download: @@bmlwc\Soulseek Downloads\c34wkpcv\Relaxing Synthwave Top 105\083 - Virtual Mage - Aether.mp3 from buk4
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -237,91 +237,267 @@ class SearchResultItem(QFrame):
|
|||
def __init__(self, search_result, parent=None):
|
||||
super().__init__(parent)
|
||||
self.search_result = search_result
|
||||
self.is_downloading = False
|
||||
self.setup_ui()
|
||||
|
||||
def setup_ui(self):
|
||||
self.setFixedHeight(60)
|
||||
self.setFixedHeight(120) # Increased height for better spacing
|
||||
self.setStyleSheet("""
|
||||
SearchResultItem {
|
||||
background: #282828;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #404040;
|
||||
margin: 2px;
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||
stop:0 rgba(40, 40, 40, 0.95),
|
||||
stop:1 rgba(30, 30, 30, 0.95));
|
||||
border-radius: 12px;
|
||||
border: 1px solid rgba(64, 64, 64, 0.8);
|
||||
margin: 8px;
|
||||
}
|
||||
SearchResultItem:hover {
|
||||
background: #333333;
|
||||
border: 1px solid #1db954;
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||
stop:0 rgba(51, 51, 51, 0.95),
|
||||
stop:1 rgba(40, 40, 40, 0.95));
|
||||
border: 1px solid rgba(29, 185, 84, 0.6);
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
""")
|
||||
|
||||
layout = QHBoxLayout(self)
|
||||
layout.setContentsMargins(15, 10, 15, 10)
|
||||
layout.setSpacing(12)
|
||||
layout.setContentsMargins(20, 15, 20, 15)
|
||||
layout.setSpacing(20)
|
||||
|
||||
# File info
|
||||
info_layout = QVBoxLayout()
|
||||
info_layout.setSpacing(3)
|
||||
# Album art placeholder
|
||||
album_art = QLabel()
|
||||
album_art.setFixedSize(80, 80)
|
||||
album_art.setStyleSheet("""
|
||||
QLabel {
|
||||
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
|
||||
stop:0 rgba(29, 185, 84, 0.3),
|
||||
stop:1 rgba(29, 185, 84, 0.1));
|
||||
border-radius: 8px;
|
||||
border: 2px solid rgba(29, 185, 84, 0.2);
|
||||
}
|
||||
""")
|
||||
album_art.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
album_art.setText("🎵")
|
||||
album_art.setFont(QFont("Arial", 24))
|
||||
|
||||
# Filename
|
||||
filename_label = QLabel(self.search_result.filename)
|
||||
filename_label.setFont(QFont("Arial", 10, QFont.Weight.Medium))
|
||||
filename_label.setStyleSheet("color: #ffffff;")
|
||||
filename_label.setWordWrap(True)
|
||||
# Main content area
|
||||
content_layout = QVBoxLayout()
|
||||
content_layout.setSpacing(8)
|
||||
|
||||
# Details
|
||||
details = []
|
||||
if self.search_result.bitrate:
|
||||
details.append(f"{self.search_result.bitrate}kbps")
|
||||
details.append(self.search_result.quality.upper())
|
||||
details.append(f"{self.search_result.size // (1024*1024)}MB")
|
||||
details.append(f"User: {self.search_result.username}")
|
||||
# Primary info (song/artist extracted from filename)
|
||||
primary_info = self._extract_song_info()
|
||||
|
||||
details_label = QLabel(" • ".join(details))
|
||||
details_label.setFont(QFont("Arial", 9))
|
||||
details_label.setStyleSheet("color: #b3b3b3;")
|
||||
# Song title
|
||||
song_title = QLabel(primary_info['title'])
|
||||
song_title.setFont(QFont("Arial", 14, QFont.Weight.Bold))
|
||||
song_title.setStyleSheet("color: #ffffff; margin-bottom: 2px;")
|
||||
song_title.setWordWrap(True)
|
||||
|
||||
info_layout.addWidget(filename_label)
|
||||
info_layout.addWidget(details_label)
|
||||
# Artist/Album info
|
||||
artist_info = QLabel(primary_info['artist'])
|
||||
artist_info.setFont(QFont("Arial", 12, QFont.Weight.Normal))
|
||||
artist_info.setStyleSheet("color: #b3b3b3; margin-bottom: 6px;")
|
||||
|
||||
# Quality indicator
|
||||
quality_label = QLabel(f"★ {self.search_result.quality_score:.1f}")
|
||||
quality_label.setFixedWidth(50)
|
||||
quality_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
quality_label.setFont(QFont("Arial", 9, QFont.Weight.Bold))
|
||||
# Technical details
|
||||
tech_layout = QHBoxLayout()
|
||||
tech_layout.setSpacing(15)
|
||||
|
||||
# Quality badge
|
||||
quality_badge = self._create_quality_badge()
|
||||
tech_layout.addWidget(quality_badge)
|
||||
|
||||
# File size
|
||||
size_mb = self.search_result.size // (1024*1024)
|
||||
size_label = QLabel(f"{size_mb} MB")
|
||||
size_label.setFont(QFont("Arial", 10, QFont.Weight.Medium))
|
||||
size_label.setStyleSheet("color: #888888;")
|
||||
tech_layout.addWidget(size_label)
|
||||
|
||||
# Duration if available
|
||||
if self.search_result.duration:
|
||||
duration_mins = self.search_result.duration // 60
|
||||
duration_secs = self.search_result.duration % 60
|
||||
duration_label = QLabel(f"{duration_mins}:{duration_secs:02d}")
|
||||
duration_label.setFont(QFont("Arial", 10, QFont.Weight.Medium))
|
||||
duration_label.setStyleSheet("color: #888888;")
|
||||
tech_layout.addWidget(duration_label)
|
||||
|
||||
tech_layout.addStretch()
|
||||
|
||||
# User info
|
||||
user_layout = QHBoxLayout()
|
||||
user_layout.setSpacing(10)
|
||||
|
||||
# User avatar placeholder
|
||||
user_avatar = QLabel("👤")
|
||||
user_avatar.setFont(QFont("Arial", 14))
|
||||
user_avatar.setStyleSheet("color: #1db954;")
|
||||
|
||||
# Username
|
||||
username_label = QLabel(self.search_result.username)
|
||||
username_label.setFont(QFont("Arial", 11, QFont.Weight.Medium))
|
||||
username_label.setStyleSheet("color: #1db954;")
|
||||
|
||||
# Upload speed indicator
|
||||
speed_indicator = self._create_speed_indicator()
|
||||
|
||||
user_layout.addWidget(user_avatar)
|
||||
user_layout.addWidget(username_label)
|
||||
user_layout.addWidget(speed_indicator)
|
||||
user_layout.addStretch()
|
||||
|
||||
content_layout.addWidget(song_title)
|
||||
content_layout.addWidget(artist_info)
|
||||
content_layout.addLayout(tech_layout)
|
||||
content_layout.addLayout(user_layout)
|
||||
content_layout.addStretch()
|
||||
|
||||
# Action area
|
||||
action_layout = QVBoxLayout()
|
||||
action_layout.setSpacing(10)
|
||||
action_layout.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
|
||||
# Quality score
|
||||
quality_score = QLabel(f"★ {self.search_result.quality_score:.1f}")
|
||||
quality_score.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
quality_score.setFont(QFont("Arial", 12, QFont.Weight.Bold))
|
||||
|
||||
if self.search_result.quality_score >= 0.9:
|
||||
quality_label.setStyleSheet("color: #1db954;")
|
||||
quality_score.setStyleSheet("color: #1db954; background: rgba(29, 185, 84, 0.1); padding: 4px 8px; border-radius: 6px;")
|
||||
elif self.search_result.quality_score >= 0.7:
|
||||
quality_label.setStyleSheet("color: #ffa500;")
|
||||
quality_score.setStyleSheet("color: #ffa500; background: rgba(255, 165, 0, 0.1); padding: 4px 8px; border-radius: 6px;")
|
||||
else:
|
||||
quality_label.setStyleSheet("color: #e22134;")
|
||||
quality_score.setStyleSheet("color: #e22134; background: rgba(226, 33, 52, 0.1); padding: 4px 8px; border-radius: 6px;")
|
||||
|
||||
# Download button
|
||||
download_btn = QPushButton("📥 Download")
|
||||
download_btn.setFixedSize(90, 30)
|
||||
download_btn.clicked.connect(self.request_download)
|
||||
download_btn.setStyleSheet("""
|
||||
self.download_btn = QPushButton("⬇️ Download")
|
||||
self.download_btn.setFixedSize(120, 40)
|
||||
self.download_btn.clicked.connect(self.request_download)
|
||||
self.download_btn.setStyleSheet("""
|
||||
QPushButton {
|
||||
background: rgba(29, 185, 84, 0.2);
|
||||
border: 1px solid #1db954;
|
||||
border-radius: 15px;
|
||||
color: #1db954;
|
||||
font-size: 9px;
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||
stop:0 rgba(29, 185, 84, 0.9),
|
||||
stop:1 rgba(24, 156, 71, 0.9));
|
||||
border: none;
|
||||
border-radius: 20px;
|
||||
color: #000000;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
QPushButton:hover {
|
||||
background: #1db954;
|
||||
color: #000000;
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||
stop:0 rgba(30, 215, 96, 1.0),
|
||||
stop:1 rgba(25, 180, 80, 1.0));
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
QPushButton:pressed {
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||
stop:0 rgba(24, 156, 71, 1.0),
|
||||
stop:1 rgba(20, 130, 60, 1.0));
|
||||
}
|
||||
""")
|
||||
|
||||
layout.addLayout(info_layout)
|
||||
layout.addStretch()
|
||||
layout.addWidget(quality_label)
|
||||
layout.addWidget(download_btn)
|
||||
action_layout.addWidget(quality_score)
|
||||
action_layout.addWidget(self.download_btn)
|
||||
action_layout.addStretch()
|
||||
|
||||
layout.addWidget(album_art)
|
||||
layout.addLayout(content_layout)
|
||||
layout.addLayout(action_layout)
|
||||
|
||||
def _extract_song_info(self):
|
||||
"""Extract song title and artist from filename"""
|
||||
filename = self.search_result.filename
|
||||
|
||||
# Remove file extension
|
||||
name_without_ext = filename.rsplit('.', 1)[0]
|
||||
|
||||
# Common patterns for artist - title separation
|
||||
separators = [' - ', ' – ', ' — ', '_-_', ' | ']
|
||||
|
||||
for sep in separators:
|
||||
if sep in name_without_ext:
|
||||
parts = name_without_ext.split(sep, 1)
|
||||
return {
|
||||
'title': parts[1].strip(),
|
||||
'artist': parts[0].strip()
|
||||
}
|
||||
|
||||
# If no separator found, use filename as title
|
||||
return {
|
||||
'title': name_without_ext,
|
||||
'artist': 'Unknown Artist'
|
||||
}
|
||||
|
||||
def _create_quality_badge(self):
|
||||
"""Create a quality indicator badge"""
|
||||
quality = self.search_result.quality.upper()
|
||||
bitrate = self.search_result.bitrate
|
||||
|
||||
if quality == 'FLAC':
|
||||
badge_text = "FLAC"
|
||||
badge_color = "#1db954"
|
||||
elif bitrate and bitrate >= 320:
|
||||
badge_text = f"{bitrate}k"
|
||||
badge_color = "#1db954"
|
||||
elif bitrate and bitrate >= 256:
|
||||
badge_text = f"{bitrate}k"
|
||||
badge_color = "#ffa500"
|
||||
elif bitrate and bitrate >= 192:
|
||||
badge_text = f"{bitrate}k"
|
||||
badge_color = "#ffaa00"
|
||||
else:
|
||||
badge_text = quality
|
||||
badge_color = "#e22134"
|
||||
|
||||
badge = QLabel(badge_text)
|
||||
badge.setFont(QFont("Arial", 9, QFont.Weight.Bold))
|
||||
badge.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
badge.setFixedSize(60, 24)
|
||||
badge.setStyleSheet(f"""
|
||||
QLabel {{
|
||||
background: {badge_color};
|
||||
color: #000000;
|
||||
border-radius: 12px;
|
||||
padding: 2px 8px;
|
||||
}}
|
||||
""")
|
||||
|
||||
return badge
|
||||
|
||||
def _create_speed_indicator(self):
|
||||
"""Create upload speed indicator"""
|
||||
speed = self.search_result.upload_speed
|
||||
slots = self.search_result.free_upload_slots
|
||||
|
||||
if slots > 0 and speed > 100:
|
||||
indicator_color = "#1db954"
|
||||
speed_text = "🚀 Fast"
|
||||
elif slots > 0:
|
||||
indicator_color = "#ffa500"
|
||||
speed_text = "⚡ Available"
|
||||
else:
|
||||
indicator_color = "#e22134"
|
||||
speed_text = "⏳ Queued"
|
||||
|
||||
indicator = QLabel(speed_text)
|
||||
indicator.setFont(QFont("Arial", 9, QFont.Weight.Medium))
|
||||
indicator.setStyleSheet(f"color: {indicator_color};")
|
||||
|
||||
return indicator
|
||||
|
||||
def request_download(self):
|
||||
self.download_requested.emit(self.search_result)
|
||||
if not self.is_downloading:
|
||||
self.is_downloading = True
|
||||
self.download_btn.setText("⏳ Downloading...")
|
||||
self.download_btn.setEnabled(False)
|
||||
self.download_requested.emit(self.search_result)
|
||||
|
||||
def reset_download_state(self):
|
||||
"""Reset the download button state"""
|
||||
self.is_downloading = False
|
||||
self.download_btn.setText("⬇️ Download")
|
||||
self.download_btn.setEnabled(True)
|
||||
|
||||
class DownloadItem(QFrame):
|
||||
def __init__(self, title: str, artist: str, status: str, progress: int = 0, parent=None):
|
||||
|
|
@ -881,113 +1057,6 @@ class DownloadsPage(QWidget):
|
|||
self.download_threads.remove(thread)
|
||||
thread.deleteLater()
|
||||
|
||||
def explore_slskd_api(self):
|
||||
"""Explore slskd API endpoints to find the correct download endpoint"""
|
||||
if not self.soulseek_client:
|
||||
QMessageBox.warning(self, "Error", "Soulseek client not available")
|
||||
return
|
||||
|
||||
# Stop any existing exploration thread
|
||||
if self.explore_thread and self.explore_thread.isRunning():
|
||||
self.explore_thread.stop()
|
||||
self.explore_thread.wait(1000) # Wait up to 1 second
|
||||
if self.explore_thread.isRunning():
|
||||
self.explore_thread.terminate()
|
||||
|
||||
# Create and track new exploration thread
|
||||
self.explore_thread = ExploreApiThread(self.soulseek_client)
|
||||
self.explore_thread.exploration_completed.connect(self.on_api_exploration_completed)
|
||||
self.explore_thread.exploration_failed.connect(self.on_api_exploration_failed)
|
||||
self.explore_thread.finished.connect(self.on_explore_thread_finished)
|
||||
self.explore_thread.start()
|
||||
|
||||
def on_api_exploration_completed(self, api_info):
|
||||
"""Handle API exploration results"""
|
||||
message = "slskd API Exploration Results:\n\n"
|
||||
|
||||
if api_info.get('swagger_available'):
|
||||
message += "✓ Swagger Documentation Available\n\n"
|
||||
download_endpoints = api_info.get('download_endpoints', {})
|
||||
if download_endpoints:
|
||||
message += "Download/Transfer Endpoints Found:\n"
|
||||
for path, methods in download_endpoints.items():
|
||||
message += f" {path}: {list(methods.keys())}\n"
|
||||
else:
|
||||
message += "No download/transfer endpoints found in Swagger docs\n"
|
||||
else:
|
||||
message += "✗ Swagger Documentation Not Available\n\n"
|
||||
available_endpoints = api_info.get('available_endpoints', {})
|
||||
if available_endpoints:
|
||||
message += "Available Endpoints Found:\n"
|
||||
for endpoint, status in available_endpoints.items():
|
||||
message += f" {endpoint}: {status}\n"
|
||||
else:
|
||||
message += "No endpoints found\n"
|
||||
|
||||
message += f"\nBase URL: {api_info.get('base_url', 'Unknown')}"
|
||||
message += f"\n\nYou can also check: {api_info.get('base_url', 'http://localhost:5030')}/swagger"
|
||||
|
||||
QMessageBox.information(self, "API Exploration Results", message)
|
||||
|
||||
def on_api_exploration_failed(self, error_msg):
|
||||
"""Handle API exploration failure"""
|
||||
QMessageBox.critical(self, "API Exploration Failed", f"Failed to explore API: {error_msg}")
|
||||
|
||||
def on_explore_thread_finished(self):
|
||||
"""Clean up when explore thread finishes"""
|
||||
if self.explore_thread:
|
||||
self.explore_thread.deleteLater()
|
||||
self.explore_thread = None
|
||||
|
||||
def get_session_info(self):
|
||||
"""Get slskd session info including version"""
|
||||
if not self.soulseek_client:
|
||||
QMessageBox.warning(self, "Error", "Soulseek client not available")
|
||||
return
|
||||
|
||||
# Stop any existing session thread
|
||||
if self.session_thread and self.session_thread.isRunning():
|
||||
self.session_thread.stop()
|
||||
self.session_thread.wait(1000) # Wait up to 1 second
|
||||
if self.session_thread.isRunning():
|
||||
self.session_thread.terminate()
|
||||
|
||||
# Create and track new session thread
|
||||
self.session_thread = SessionInfoThread(self.soulseek_client)
|
||||
self.session_thread.session_info_completed.connect(self.on_session_info_completed)
|
||||
self.session_thread.session_info_failed.connect(self.on_session_info_failed)
|
||||
self.session_thread.finished.connect(self.on_session_thread_finished)
|
||||
self.session_thread.start()
|
||||
|
||||
def on_session_info_completed(self, session_info):
|
||||
"""Handle session info results"""
|
||||
message = "slskd Session Information:\n\n"
|
||||
|
||||
if session_info:
|
||||
for key, value in session_info.items():
|
||||
message += f"{key}: {value}\n"
|
||||
else:
|
||||
message += "No session information available"
|
||||
|
||||
message += f"\n\nManual Steps:\n"
|
||||
message += f"1. Open: http://localhost:5030\n"
|
||||
message += f"2. Press F12 → Network tab\n"
|
||||
message += f"3. Search for a file\n"
|
||||
message += f"4. Click Download\n"
|
||||
message += f"5. Check the HTTP request in Network tab\n"
|
||||
message += f"6. Note the endpoint, method, and payload"
|
||||
|
||||
QMessageBox.information(self, "slskd Session Info", message)
|
||||
|
||||
def on_session_info_failed(self, error_msg):
|
||||
"""Handle session info failure"""
|
||||
QMessageBox.critical(self, "Session Info Failed", f"Failed to get session info: {error_msg}")
|
||||
|
||||
def on_session_thread_finished(self):
|
||||
"""Clean up when session thread finishes"""
|
||||
if self.session_thread:
|
||||
self.session_thread.deleteLater()
|
||||
self.session_thread = None
|
||||
|
||||
def cleanup_all_threads(self):
|
||||
"""Stop and cleanup all active threads"""
|
||||
|
|
@ -1097,47 +1166,9 @@ class DownloadsPage(QWidget):
|
|||
}
|
||||
""")
|
||||
|
||||
# API Explorer button (for debugging)
|
||||
explore_btn = QPushButton("🔍 Explore API")
|
||||
explore_btn.setFixedHeight(35)
|
||||
explore_btn.clicked.connect(self.explore_slskd_api)
|
||||
explore_btn.setStyleSheet("""
|
||||
QPushButton {
|
||||
background: transparent;
|
||||
border: 1px solid #1db954;
|
||||
border-radius: 17px;
|
||||
color: #1db954;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
QPushButton:hover {
|
||||
background: rgba(29, 185, 84, 0.1);
|
||||
}
|
||||
""")
|
||||
|
||||
# Session Info button (for debugging)
|
||||
session_btn = QPushButton("ℹ️ Session Info")
|
||||
session_btn.setFixedHeight(35)
|
||||
session_btn.clicked.connect(self.get_session_info)
|
||||
session_btn.setStyleSheet("""
|
||||
QPushButton {
|
||||
background: transparent;
|
||||
border: 1px solid #ffa500;
|
||||
border-radius: 17px;
|
||||
color: #ffa500;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
QPushButton:hover {
|
||||
background: rgba(255, 165, 0, 0.1);
|
||||
}
|
||||
""")
|
||||
|
||||
controls_layout.addWidget(controls_title)
|
||||
controls_layout.addWidget(pause_btn)
|
||||
controls_layout.addWidget(clear_btn)
|
||||
controls_layout.addWidget(explore_btn)
|
||||
controls_layout.addWidget(session_btn)
|
||||
|
||||
# Download stats
|
||||
stats_frame = QFrame()
|
||||
|
|
|
|||
Loading…
Reference in a new issue