- EpisodeProgress.favorite (Migration 0006) und POST episodes/<id>/favorite/ (setzen oder umschalten; ändert updated_at nicht, damit Verlauf und Statistik nicht verfälscht werden) - GET episodes/: alle Folgen aller Abos, Filter all/unplayed/in_progress/ played/favorites/history, feed_id, q, offset/limit/total; zwei Abfragen pro Seite, ohne Shownotes - Folgendetails liefern zusätzlich favorite und last_played_at - GET stats/: Hörzeit gesamt und pro Podcast, optional nur die letzten N Tage - GET feeds/export.opml: Abos als OPML 2.0 (lässt sich wieder importieren) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
1.8 KiB
Python
29 lines
1.8 KiB
Python
from django.urls import path
|
|
from . import views
|
|
|
|
urlpatterns = [
|
|
path('search/', views.podcast_search, name='podcast_search'),
|
|
path('feeds/', views.feed_list, name='podcast_feed_list'),
|
|
path('feeds/add/', views.add_feed, name='podcast_add_feed'),
|
|
path('feeds/import/', views.import_opml, name='podcast_import_opml'),
|
|
path('feeds/export.opml', views.export_opml, name='podcast_export_opml'),
|
|
path('feeds/refresh/', views.refresh_feed_now, name='podcast_refresh_feed'),
|
|
path('feeds/refresh-all/', views.refresh_all_feeds, name='podcast_refresh_all_feeds'),
|
|
path('state/', views.podcast_state, name='podcast_state'),
|
|
path('feeds/<int:pk>/remove/', views.remove_feed, name='podcast_remove_feed'),
|
|
path('feeds/<int:pk>/set-auto-queue/', views.set_auto_queue, name='podcast_set_auto_queue'),
|
|
path('feeds/<int:pk>/episodes/', views.feed_episodes, name='podcast_feed_episodes'),
|
|
path('episodes/', views.episode_list, name='podcast_episode_list'),
|
|
path('episodes/<int:pk>/', views.episode_detail, name='podcast_episode_detail'),
|
|
path('episodes/<int:pk>/favorite/', views.set_favorite, name='podcast_set_favorite'),
|
|
path('stats/', views.podcast_stats, name='podcast_stats'),
|
|
path('queue/', views.queue_get, name='podcast_queue_get'),
|
|
path('queue/add/', views.queue_add, name='podcast_queue_add'),
|
|
path('queue/remove/', views.queue_remove, name='podcast_queue_remove'),
|
|
path('queue/reorder/', views.queue_reorder, name='podcast_queue_reorder'),
|
|
path('settings/', views.podcast_settings, name='podcast_settings'),
|
|
path('progress/save/', views.save_progress, name='podcast_save_progress'),
|
|
path('progress/mark-played/', views.mark_played, name='podcast_mark_played'),
|
|
path('progress/dismiss/', views.dismiss_episodes, name='podcast_dismiss_episodes'),
|
|
path('inbox/', views.inbox, name='podcast_inbox'),
|
|
]
|