from django.conf.urls import url from boards import views from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed from boards.views import api, tag_threads, all_threads, settings, feed, stickers from boards.views.authors import AuthorsView from boards.views.landing import LandingView from boards.views.notifications import NotificationView from boards.views.preview import PostPreviewView from boards.views.random import RandomImageView from boards.views.search import BoardSearchView from boards.views.static import StaticPageView from boards.views.sync import get_post_sync_data, response_get, response_list from boards.views.tag_gallery import TagGalleryView from boards.views.translation import cached_javascript_catalog from boards.views.utils import UtilsView js_info_dict = { 'packages': ('boards',), } urlpatterns = [ # /boards/ url(r'^all/$', all_threads.AllThreadsView.as_view(), name='index'), # /boards/tag/tag_name/ url(r'^tag/(?P\w+)/$', tag_threads.TagView.as_view(), name='tag'), # /boards/thread/ url(r'^thread/(?P\d+)/$', views.thread.NormalThreadView.as_view(), name='thread'), url(r'^thread/(?P\d+)/mode/gallery/$', views.thread.GalleryThreadView.as_view(), name='thread_gallery'), url(r'^thread/(?P\d+)/mode/tree/$', views.thread.TreeThreadView.as_view(), name='thread_tree'), # /feed/ url(r'^feed/$', views.feed.FeedView.as_view(), name='feed'), url(r'^settings/$', settings.SettingsView.as_view(), name='settings'), url(r'^stickers/$', stickers.AliasesView.as_view(), name='stickers'), url(r'^stickers/(?P\w+)/$', stickers.AliasesView.as_view(), name='stickers'), url(r'^authors/$', AuthorsView.as_view(), name='authors'), url(r'^banned/$', views.banned.BannedView.as_view(), name='banned'), url(r'^staticpage/(?P\w+)/$', StaticPageView.as_view(), name='staticpage'), url(r'^random/$', RandomImageView.as_view(), name='random'), url(r'^tag/(?P\w+)/gallery/$', TagGalleryView.as_view(), name='tag_gallery'), url(r'^search/$', BoardSearchView.as_view(), name='search'), url(r'^$', LandingView.as_view(), name='landing'), url(r'^utils$', UtilsView.as_view(), name='utils'), # RSS feeds url(r'^rss/$', AllThreadsFeed()), url(r'^all/rss/$', AllThreadsFeed()), url(r'^page/(?P\d+)/rss/$', AllThreadsFeed()), url(r'^tag/(?P\w+)/rss/$', TagThreadsFeed()), url(r'^tag/(?P\w+)/page/(?P\w+)/rss/$', TagThreadsFeed()), url(r'^thread/(?P\d+)/rss/$', ThreadPostsFeed()), # i18n url(r'^jsi18n/$', cached_javascript_catalog, js_info_dict, name='js_info_dict'), # API url(r'^api/post/(?P\d+)/$', api.get_post, name="get_post"), url(r'^api/diff_thread/$', api.api_get_threaddiff, name="get_thread_diff"), url(r'^api/threads/(?P\w+)/$', api.api_get_threads, name='get_threads'), url(r'^api/tags/$', api.api_get_tags, name='get_tags'), url(r'^api/thread/(?P\w+)/$', api.api_get_thread_posts, name='get_thread'), url(r'^api/add_post/(?P\w+)/$', api.api_add_post, name='add_post'), url(r'^api/notifications/(?P\w+)/$', api.api_get_notifications, name='api_notifications'), url(r'^api/preview/$', api.api_get_preview, name='preview'), url(r'^api/new_posts/$', api.api_get_new_posts, name='new_posts'), url(r'^api/stickers/$', api.api_get_stickers, name='get_stickers'), # Sync protocol API url(r'^api/sync/list/$', response_list, name='api_sync_list'), url(r'^api/sync/get/$', response_get, name='api_sync_get'), # Notifications url(r'^notifications/(?P\w+)/$', NotificationView.as_view(), name='notifications'), url(r'^notifications/$', NotificationView.as_view(), name='notifications'), # Post preview url(r'^preview/$', PostPreviewView.as_view(), name='preview'), url(r'^post_xml/(?P\d+)$', get_post_sync_data, name='post_sync_data'), ]