Manuell per neuem "Metadaten"-Menüpunkt ausgelöst (nie automatisch): der Server schlägt die aus dem EPUB extrahierte ISBN zuerst bei der DNB (SRU, DDC-Sachgruppe), dann bei Open Library nach und gibt nur ein kurzes Label zurück, ohne etwas zu speichern — das Label landet als Badge nur im ohnehin verschlüsselten Meta-Blob des Clients. Das ist eine bewusste, eng begrenzte Ausnahme vom "Server sieht nie Buchinhalte"-Prinzip: die Verschlüsselung dient vor allem der Absicherung gegen Piraterie-Vorwürfe, nicht striktem Zero-Knowledge gegenüber dem eigenen Server. Da pro Buch jetzt Reparieren/Herunterladen/Ordner/Metadaten/Lesestatus/Löschen zusammenkommen, wandern alle Aktionen außer "Open" in ein Drei-Punkte-Menü. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011j4LcoeddwFt6Rw8Wyaknj
17 lines
944 B
Python
17 lines
944 B
Python
from django.urls import path
|
|
from . import views
|
|
|
|
urlpatterns = [
|
|
path('', views.book_list, name='book_list'),
|
|
path('upload/', views.upload_book, name='upload_book'),
|
|
path('metadata-lookup/', views.lookup_book_metadata, name='lookup_book_metadata'),
|
|
path('<int:pk>/data/', views.get_book_data, name='get_book_data'),
|
|
path('<int:pk>/delete/', views.delete_book, name='delete_book'),
|
|
path('<int:pk>/read/', views.set_book_read, name='set_book_read'),
|
|
path('<int:pk>/meta/', views.update_book_meta, name='update_book_meta'),
|
|
path('<int:pk>/replace-data/', views.replace_book_data, name='replace_book_data'),
|
|
path('<int:pk>/rekey/', views.rekey_book, name='rekey_book'),
|
|
path('<int:pk>/progress/', views.save_progress, name='save_book_progress'),
|
|
path('<int:pk>/highlights/', views.book_highlights, name='book_highlights'),
|
|
path('<int:pk>/bookmarks/', views.book_bookmarks, name='book_bookmarks'),
|
|
]
|