urls.py
96 lines
| 4.1 KiB
| text/x-python
|
PythonLexer
/ boards / urls.py
neko259
|
r1486 | from django.conf.urls import url | ||
neko259
|
r1986 | from django.urls import path | ||
neko259
|
r2049 | from django.views.generic import TemplateView | ||
neko259
|
r1986 | from django.views.i18n import JavaScriptCatalog | ||
neko259
|
r1090 | |||
neko259
|
r0 | from boards import views | ||
neko259
|
r89 | from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed | ||
neko259
|
r1997 | from boards.views import api, tag_threads, all_threads, settings, feed, stickers, thread, banned | ||
neko259
|
r551 | from boards.views.authors import AuthorsView | ||
neko259
|
r1945 | from boards.views.landing import LandingView | ||
neko259
|
r990 | from boards.views.notifications import NotificationView | ||
neko259
|
r1945 | from boards.views.preview import PostPreviewView | ||
from boards.views.random import RandomImageView | ||||
from boards.views.search import BoardSearchView | ||||
neko259
|
r565 | from boards.views.static import StaticPageView | ||
neko259
|
r1566 | from boards.views.sync import get_post_sync_data, response_get, response_list | ||
neko259
|
r1419 | from boards.views.tag_gallery import TagGalleryView | ||
neko259
|
r1899 | from boards.views.utils import UtilsView | ||
neko259
|
r0 | |||
neko259
|
r122 | |||
neko259
|
r1486 | urlpatterns = [ | ||
neko259
|
r0 | # /boards/ | ||
neko259
|
r1987 | path('all/', all_threads.AllThreadsView.as_view(), name='index'), | ||
Ilyas
|
r9 | |||
neko259
|
r46 | # /boards/tag/tag_name/ | ||
neko259
|
r1992 | url(r'^tag/(?P<tag_name>[\w\d\']+)/$', tag_threads.TagView.as_view(), | ||
neko259
|
r542 | name='tag'), | ||
neko259
|
r1962 | url(r'^tag/(?P<tag_name>[\w\d\']+)/gallery/$', TagGalleryView.as_view(), name='tag_gallery'), | ||
neko259
|
r145 | |||
neko259
|
r46 | # /boards/thread/ | ||
neko259
|
r1987 | path('thread/<int:post_id>/', views.thread.NormalThreadView.as_view(), | ||
name='thread'), | ||||
path('thread/<int:post_id>/mode/gallery/', views.thread.GalleryThreadView.as_view(), | ||||
name='thread_gallery'), | ||||
path('thread/<int:post_id>/mode/tree/', views.thread.TreeThreadView.as_view(), | ||||
name='thread_tree'), | ||||
neko259
|
r1165 | # /feed/ | ||
neko259
|
r1987 | path('feed/', views.feed.FeedView.as_view(), name='feed'), | ||
neko259
|
r550 | |||
neko259
|
r1987 | path('settings/', settings.SettingsView.as_view(), name='settings'), | ||
path('stickers/', stickers.AliasesView.as_view(), name='stickers'), | ||||
path('stickers/<str:category>/', stickers.AliasesView.as_view(), name='stickers'), | ||||
neko259
|
r2073 | path('about/', AuthorsView.as_view(), name='about'), | ||
neko259
|
r156 | |||
neko259
|
r1987 | path('banned/', views.banned.BannedView.as_view(), name='banned'), | ||
path('staticpage/<str:name>/', StaticPageView.as_view(), name='staticpage'), | ||||
neko259
|
r89 | |||
neko259
|
r1987 | path('random/', RandomImageView.as_view(), name='random'), | ||
path('search/', BoardSearchView.as_view(), name='search'), | ||||
path('', LandingView.as_view(), name='landing'), | ||||
path('utils', UtilsView.as_view(), name='utils'), | ||||
neko259
|
r1246 | |||
neko259
|
r89 | # RSS feeds | ||
neko259
|
r1987 | path('rss/', AllThreadsFeed()), | ||
path('all/rss/', AllThreadsFeed()), | ||||
neko259
|
r89 | url(r'^tag/(?P<tag_name>\w+)/rss/$', TagThreadsFeed()), | ||
neko259
|
r1987 | path('thread/<int:post_id>/rss/', ThreadPostsFeed()), | ||
neko259
|
r122 | |||
neko259
|
r221 | # i18n | ||
neko259
|
r1986 | path('jsi18n/', JavaScriptCatalog.as_view(packages=['boards']), name='js_info_dict'), | ||
neko259
|
r221 | |||
# API | ||||
neko259
|
r1086 | url(r'^api/post/(?P<post_id>\d+)/$', api.get_post, name="get_post"), | ||
neko259
|
r1191 | url(r'^api/diff_thread/$', api.api_get_threaddiff, name="get_thread_diff"), | ||
neko259
|
r500 | url(r'^api/threads/(?P<count>\w+)/$', api.api_get_threads, | ||
name='get_threads'), | ||||
neko259
|
r542 | url(r'^api/tags/$', api.api_get_tags, name='get_tags'), | ||
url(r'^api/thread/(?P<opening_post_id>\w+)/$', api.api_get_thread_posts, | ||||
neko259
|
r502 | name='get_thread'), | ||
neko259
|
r566 | url(r'^api/add_post/(?P<opening_post_id>\w+)/$', api.api_add_post, | ||
neko259
|
r1998 | name='add_post'), | ||
url(r'^api/add_post/$', api.api_add_post, name='add_post'), | ||||
neko259
|
r994 | url(r'^api/notifications/(?P<username>\w+)/$', api.api_get_notifications, | ||
name='api_notifications'), | ||||
neko259
|
r1217 | url(r'^api/preview/$', api.api_get_preview, name='preview'), | ||
neko259
|
r1340 | url(r'^api/new_posts/$', api.api_get_new_posts, name='new_posts'), | ||
neko259
|
r1702 | url(r'^api/stickers/$', api.api_get_stickers, name='get_stickers'), | ||
neko259
|
r500 | |||
neko259
|
r1144 | # Sync protocol API | ||
neko259
|
r1566 | url(r'^api/sync/list/$', response_list, name='api_sync_list'), | ||
url(r'^api/sync/get/$', response_get, name='api_sync_get'), | ||||
neko259
|
r1144 | |||
neko259
|
r990 | # Notifications | ||
neko259
|
r1987 | path('notifications/<str:username>/', NotificationView.as_view(), name='notifications'), | ||
path('notifications/', NotificationView.as_view(), name='notifications'), | ||||
neko259
|
r990 | |||
neko259
|
r825 | # Post preview | ||
neko259
|
r1987 | path('preview/', PostPreviewView.as_view(), name='preview'), | ||
path('post_xml/<int:post_id>', get_post_sync_data, | ||||
name='post_sync_data'), | ||||
neko259
|
r2049 | |||
# Robots | ||||
path('robots.txt', TemplateView.as_view(template_name='boards/robots.txt', | ||||
content_type='text/plain')) | ||||
neko259
|
r1486 | ] | ||
neko259
|
r1479 | |||