Files
vrobbler/vrobbler/apps/scrobbles/urls.py
Colin Powell 3b266083b0
All checks were successful
build & deploy / test (push) Successful in 1m47s
build & deploy / deploy (push) Successful in 22s
[scrobbles] Fix filtering by tags
2026-04-02 12:23:05 -04:00

134 lines
4.0 KiB
Python

from django.urls import path
from scrobbles import views
from tasks.webhooks import EmacsWebhookView, TodoistWebhookView
app_name = "scrobbles"
urlpatterns = [
path("search/", views.ScrobbleSearchView.as_view(), name="search"),
path("status/", views.ScrobbleStatusView.as_view(), name="status"),
path(
"widget/top-artists/<str:period>/<int:user_id>/",
views.EmbeddableTopArtistsWidget.as_view(),
name="embeddable-top-artists",
),
path(
"widget/top-board-games/<str:period>/<int:user_id>/",
views.EmbeddableTopBoardGamesWidget.as_view(),
name="embeddable-top-board-games",
),
path(
"widget/top-books/<str:period>/<int:user_id>/",
views.EmbeddableTopBooksWidget.as_view(),
name="embeddable-top-books",
),
path(
"widget/top-trails/<str:period>/<int:user_id>/",
views.EmbeddableTopTrailsWidget.as_view(),
name="embeddable-top-trails",
),
path(
"widget/top-foods/<str:period>/<int:user_id>/",
views.EmbeddableTopFoodsWidget.as_view(),
name="embeddable-top-foods",
),
path(
"widget/top-tasks/<str:period>/<int:user_id>/",
views.EmbeddableTopTasksWidget.as_view(),
name="embeddable-top-tasks",
),
path(
"manual/lookup/",
views.ManualScrobbleView.as_view(),
name="lookup-manual-scrobble",
),
path(
"long-play-finish/<slug:uuid>/",
views.scrobble_longplay_finish,
name="longplay-finish",
),
path(
"upload/audioscrobbler/",
views.AudioScrobblerImportCreateView.as_view(),
name="audioscrobbler-file-upload",
),
path(
"upload/koreader/",
views.KoReaderImportCreateView.as_view(),
name="koreader-file-upload",
),
path(
"lastfm-import/",
views.lastfm_import,
name="lastfm-import",
),
path(
"webhook/web-scrobbler/",
views.WebScrobblerWebhookView.as_view(),
name="web-scrobbler-webhook",
),
path(
"webhook/gps/",
views.GPSWebhookView.as_view(),
name="gps-webhook",
),
path(
"webhook/jellyfin/",
views.JellyfinWebhookView.as_view(),
name="jellyfin-webhook",
),
path(
"webhook/mopidy/",
views.MopidyWebhookView.as_view(),
name="mopidy-webhook",
),
path("webhook/todoist/", TodoistWebhookView.as_view(), name="todoist-webhook"),
path("webhook/emacs/", EmacsWebhookView.as_view(), name="emacs_webhook"),
path("export/", views.export, name="export"),
path(
"imports/",
views.ScrobbleImportListView.as_view(),
name="import-detail",
),
path("export/", views.export, name="export"),
path(
"imports/",
views.ScrobbleImportListView.as_view(),
name="import-detail",
),
path(
"imports/tsv/<slug:slug>/",
views.ScrobbleTSVImportDetailView.as_view(),
name="tsv-import-detail",
),
path(
"imports/lastfm/<slug:slug>/",
views.ScrobbleLastFMImportDetailView.as_view(),
name="lastfm-import-detail",
),
path(
"imports/koreader/<slug:slug>/",
views.ScrobbleKoReaderImportDetailView.as_view(),
name="koreader-import-detail",
),
path(
"imports/retroarch/<slug:slug>/",
views.ScrobbleRetroarchImportDetailView.as_view(),
name="retroarch-import-detail",
),
path(
"long-plays/",
views.ScrobbleLongPlaysView.as_view(),
name="long-plays",
),
path("scrobbles/", views.ScrobbleListView.as_view(), name="scrobble-list"),
path(
"scrobbles/<slug:uuid>/",
views.ScrobbleDetailView.as_view(),
name="detail",
),
path("scrobbles/<slug:uuid>/start/", views.scrobble_start, name="start"),
path("scrobbles/<slug:uuid>/finish/", views.scrobble_finish, name="finish"),
path("scrobbles/<slug:uuid>/cancel/", views.scrobble_cancel, name="cancel"),
]