Allow deleting unused library files with profile guards

This commit is contained in:
Mikei386
2026-09-30 10:21:07 +02:00
parent 459150975b
commit ef80b2a0ca
5 changed files with 64 additions and 3 deletions
+9 -2
View File
@@ -351,7 +351,9 @@ class Handler(BaseHTTPRequestHandler):
return self.respond(data)
if path.path=='/api/v1/catalog':
data=self.server.catalog.status()
for entry in data['entries']:entry['execution']=self.execution_setup(entry)
for entry in data['entries']:
entry['execution']=self.execution_setup(entry)
entry['used_by_profiles']=self.server.profiles.references(entry['id'])
return self.respond(data)
except Exception as exc:
return self.respond({'error':str(exc) if isinstance(exc,ValueError) else 'Katalog nicht erreichbar.'},400)
@@ -536,9 +538,14 @@ class Handler(BaseHTTPRequestHandler):
try:return self.respond(self.server.profiles.save(self.read_json()))
except ValueError as exc:return self.respond({'error':str(exc)},400)
except OSError:return self.respond({'error':'Profil konnte nicht gespeichert werden.'},503)
if self.path in ('/api/v1/catalog/download','/api/v1/catalog/cancel','/api/v1/catalog/dismiss'):
if self.path in ('/api/v1/catalog/download','/api/v1/catalog/cancel','/api/v1/catalog/dismiss','/api/v1/catalog/delete'):
try:
data=self.read_json()
if self.path.endswith('/delete'):
if set(data)!={'id'}:raise ValueError('Modelldatei-ID erwartet.')
with self.server.worker.lock:
active=self.server.worker.profile['model_id'] if self.server.worker.profile else None
return self.respond(self.server.catalog.delete(data['id'],self.server.profiles,active))
if self.path.endswith('/dismiss') and set(data)=={'id'}:return self.respond(self.server.catalog.dismiss(data['id']))
if self.path.endswith('/cancel') and not data:return self.respond(self.server.catalog.stop())
if set(data)!={'repo','filename','revision','kind'}:raise ValueError('Ungültige Downloadparameter.')