hydrabase changes
This commit is contained in:
parent
f051292e0d
commit
60f93d5858
4 changed files with 13 additions and 9 deletions
|
|
@ -177,7 +177,7 @@ class HydrabaseClient:
|
||||||
# ==================== Artist Methods ====================
|
# ==================== Artist Methods ====================
|
||||||
|
|
||||||
def search_artists(self, query: str, limit: int = 20) -> List[Artist]:
|
def search_artists(self, query: str, limit: int = 20) -> List[Artist]:
|
||||||
results = self._send_and_recv('artist', query)
|
results = self._send_and_recv('artists', query)
|
||||||
if not results:
|
if not results:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2755,7 +2755,7 @@ def _run_background_comparison(query, hydrabase_counts=None):
|
||||||
hydra_data = {'tracks': 0, 'artists': 0, 'albums': 0}
|
hydra_data = {'tracks': 0, 'artists': 0, 'albums': 0}
|
||||||
if _is_hydrabase_active():
|
if _is_hydrabase_active():
|
||||||
raw_t = hydrabase_client.search_raw(query, 'track')
|
raw_t = hydrabase_client.search_raw(query, 'track')
|
||||||
raw_ar = hydrabase_client.search_raw(query, 'artist')
|
raw_ar = hydrabase_client.search_raw(query, 'artists')
|
||||||
raw_al = hydrabase_client.search_raw(query, 'album')
|
raw_al = hydrabase_client.search_raw(query, 'album')
|
||||||
hydra_data = {
|
hydra_data = {
|
||||||
'tracks': len(raw_t) if raw_t else 0,
|
'tracks': len(raw_t) if raw_t else 0,
|
||||||
|
|
@ -4472,7 +4472,7 @@ def enhanced_search():
|
||||||
if hydrabase_worker and dev_mode_enabled:
|
if hydrabase_worker and dev_mode_enabled:
|
||||||
hydrabase_worker.enqueue(query, 'track')
|
hydrabase_worker.enqueue(query, 'track')
|
||||||
hydrabase_worker.enqueue(query, 'album')
|
hydrabase_worker.enqueue(query, 'album')
|
||||||
hydrabase_worker.enqueue(query, 'artist')
|
hydrabase_worker.enqueue(query, 'artists')
|
||||||
|
|
||||||
if spotify_client and spotify_client.is_authenticated():
|
if spotify_client and spotify_client.is_authenticated():
|
||||||
artist_objs = spotify_client.search_artists(query, limit=10)
|
artist_objs = spotify_client.search_artists(query, limit=10)
|
||||||
|
|
@ -24504,7 +24504,7 @@ def search_artists_for_playlist():
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
if hydrabase_worker and dev_mode_enabled:
|
if hydrabase_worker and dev_mode_enabled:
|
||||||
hydrabase_worker.enqueue(query, 'artist')
|
hydrabase_worker.enqueue(query, 'artists')
|
||||||
|
|
||||||
search_query = f'artist:{query}' if len(query.strip()) <= 4 else query
|
search_query = f'artist:{query}' if len(query.strip()) <= 4 else query
|
||||||
results = spotify_client.sp.search(q=search_query, type='artist', limit=10)
|
results = spotify_client.sp.search(q=search_query, type='artist', limit=10)
|
||||||
|
|
|
||||||
|
|
@ -3743,7 +3743,7 @@
|
||||||
<h4 style="margin: 0;">Tracks</h4>
|
<h4 style="margin: 0;">Tracks</h4>
|
||||||
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-track')">Send</button>
|
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-track')">Send</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea class="hydra-payload" id="hydra-payload-track" rows="4">{ "request": { "type": "track", "query": "" } }</textarea>
|
<textarea class="hydra-payload" id="hydra-payload-track" rows="4">{ "request": { "type": "track", "query": "" }, "nonce": 0 }</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="hydrabase-card">
|
<div class="hydrabase-card">
|
||||||
|
|
@ -3751,7 +3751,7 @@
|
||||||
<h4 style="margin: 0;">Albums</h4>
|
<h4 style="margin: 0;">Albums</h4>
|
||||||
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-album')">Send</button>
|
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-album')">Send</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea class="hydra-payload" id="hydra-payload-album" rows="4">{ "request": { "type": "album", "query": "" } }</textarea>
|
<textarea class="hydra-payload" id="hydra-payload-album" rows="4">{ "request": { "type": "album", "query": "" }, "nonce": 0 }</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="hydrabase-card">
|
<div class="hydrabase-card">
|
||||||
|
|
@ -3759,7 +3759,7 @@
|
||||||
<h4 style="margin: 0;">Artists</h4>
|
<h4 style="margin: 0;">Artists</h4>
|
||||||
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-artist')">Send</button>
|
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-artist')">Send</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea class="hydra-payload" id="hydra-payload-artist" rows="4">{ "request": { "type": "artist", "query": "" } }</textarea>
|
<textarea class="hydra-payload" id="hydra-payload-artist" rows="4">{ "request": { "type": "artists", "query": "" }, "nonce": 0 }</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="hydrabase-card">
|
<div class="hydrabase-card">
|
||||||
|
|
@ -3767,7 +3767,7 @@
|
||||||
<h4 style="margin: 0;">Discography</h4>
|
<h4 style="margin: 0;">Discography</h4>
|
||||||
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-discog')">Send</button>
|
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-discog')">Send</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea class="hydra-payload" id="hydra-payload-discog" rows="4">{ "request": { "type": "discography", "query": "" } }</textarea>
|
<textarea class="hydra-payload" id="hydra-payload-discog" rows="4">{ "request": { "type": "discography", "query": "" }, "nonce": 0 }</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="hydrabase-card">
|
<div class="hydrabase-card">
|
||||||
|
|
@ -3775,7 +3775,7 @@
|
||||||
<h4 style="margin: 0;">Album Tracks</h4>
|
<h4 style="margin: 0;">Album Tracks</h4>
|
||||||
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-albumtracks')">Send</button>
|
<button class="test-button" onclick="hydrabaseSendRaw('hydra-payload-albumtracks')">Send</button>
|
||||||
</div>
|
</div>
|
||||||
<textarea class="hydra-payload" id="hydra-payload-albumtracks" rows="4">{ "request": { "type": "album.tracks", "query": "" } }</textarea>
|
<textarea class="hydra-payload" id="hydra-payload-albumtracks" rows="4">{ "request": { "type": "album.tracks", "query": "" }, "nonce": 0 }</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3446,6 +3446,10 @@ async function hydrabaseSendRaw(textareaId) {
|
||||||
showToast('Invalid JSON payload', 'error');
|
showToast('Invalid JSON payload', 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Auto-inject a fresh nonce if not set or zero
|
||||||
|
if (!payload.nonce) {
|
||||||
|
payload.nonce = Date.now();
|
||||||
|
}
|
||||||
const responseArea = document.getElementById('hydra-response');
|
const responseArea = document.getElementById('hydra-response');
|
||||||
responseArea.textContent = 'Sending...';
|
responseArea.textContent = 'Sending...';
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue