1 from django
.urls
import path
, register_converter
3 from . import legacy
, simple
, advanced
, advanced
, subscriptions
4 from .advanced
import auth
, lists
, sync
, updates
, episode
, settings
5 from mygpo
.users
import converters
6 from mygpo
.usersettings
.converters
import ScopeConverter
8 register_converter(converters
.ClientUIDConverter
, 'client-uid')
9 register_converter(converters
.UsernameConverter
, 'username')
10 register_converter(ScopeConverter
, 'scope')
22 kwargs
={'count': 50, 'format': 'opml'}),
24 path('subscriptions/<username:username>/'
25 '<client-uid:device_uid>.<str:format>',
26 simple
.subscriptions
),
28 path('subscriptions/<username:username>.<str:format>',
29 simple
.all_subscriptions
,
30 name
='api-all-subscriptions'),
32 path('toplist/<int:count>.<str:format>',
36 path('search.<str:format>',
39 path('suggestions/<int:count>.<str:format>',
41 name
='suggestions-opml'),
43 path('toplist.<str:format>',
45 kwargs
={'count': 50}),
47 path('gpodder-examples.<str:format>',
48 simple
.example_podcasts
,
51 path('api/<int:version>/subscriptions/<username:username>/'
52 '<client-uid:device_uid>.json',
53 subscriptions
.SubscriptionsAPI
.as_view(),
54 name
='subscriptions-api'),
56 path('api/<int:version>/episodes/<username:username>.json',
59 path('api/<int:version>/devices/<username:username>/'
60 '<client-uid:device_uid>.json',
63 path('api/<int:version>/devices/<username:username>.json',
66 path('api/2/auth/<username:username>/login.json',
69 path('api/2/auth/<username:username>/logout.json',
72 path('api/2/tags/<int:count>.json',
73 advanced
.directory
.top_tags
),
75 path('api/2/tag/<str:tag>/<int:count>.json',
76 advanced
.directory
.tag_podcasts
),
78 path('api/2/data/podcast.json',
79 advanced
.directory
.podcast_info
),
81 path('api/2/data/episode.json',
82 advanced
.directory
.episode_info
,
83 name
='api-episode-info'),
85 path('api/2/chapters/<username:username>.json',
86 episode
.ChaptersAPI
.as_view()),
88 path('api/2/updates/<username:username>/<client-uid:device_uid>.json',
89 updates
.DeviceUpdates
.as_view()),
91 path('api/2/settings/<username:username>/<scope:scope>.json',
92 settings
.SettingsAPI
.as_view(),
95 path('api/2/favorites/<username:username>.json',
98 path('api/2/lists/<username:username>/create.<str:format>',
101 path('api/2/lists/<username:username>.json',
104 path('api/2/lists/<username:username>/list/<slug:slug>.<str:format>',
106 name
='api-get-list'),
108 path('api/2/sync-devices/<username:username>.json',