##// END OF EJS Templates
Load URL if the file could not be loaded
Load URL if the file could not be loaded

File last commit:

r1566:a1b54223 default
r1660:80bdd1ce default
Show More
urls.py
96 lines | 3.8 KiB | text/x-python | PythonLexer
from django.conf.urls import url
import neboard
from boards import views
from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed
from boards.views import api, tag_threads, all_threads, \
settings, all_tags, feed
from boards.views.authors import AuthorsView
from boards.views.notifications import NotificationView
from boards.views.static import StaticPageView
from boards.views.preview import PostPreviewView
from boards.views.sync import get_post_sync_data, response_get, response_list
from boards.views.random import RandomImageView
from boards.views.tag_gallery import TagGalleryView
from boards.views.translation import cached_javascript_catalog
js_info_dict = {
'packages': ('boards',),
}
urlpatterns = [
# /boards/
url(r'^$', all_threads.AllThreadsView.as_view(), name='index'),
# /boards/tag/tag_name/
url(r'^tag/(?P<tag_name>\w+)/$', tag_threads.TagView.as_view(),
name='tag'),
# /boards/thread/
url(r'^thread/(?P<post_id>\d+)/$', views.thread.NormalThreadView.as_view(),
name='thread'),
url(r'^thread/(?P<post_id>\d+)/mode/gallery/$', views.thread.GalleryThreadView.as_view(),
name='thread_gallery'),
url(r'^thread/(?P<post_id>\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'^tags/(?P<query>\w+)?/?$', all_tags.AllTagsView.as_view(), name='tags'),
url(r'^authors/$', AuthorsView.as_view(), name='authors'),
url(r'^banned/$', views.banned.BannedView.as_view(), name='banned'),
url(r'^staticpage/(?P<name>\w+)/$', StaticPageView.as_view(),
name='staticpage'),
url(r'^random/$', RandomImageView.as_view(), name='random'),
url(r'^tag/(?P<tag_name>\w+)/gallery/$', TagGalleryView.as_view(), name='tag_gallery'),
# RSS feeds
url(r'^rss/$', AllThreadsFeed()),
url(r'^page/(?P<page>\d+)/rss/$', AllThreadsFeed()),
url(r'^tag/(?P<tag_name>\w+)/rss/$', TagThreadsFeed()),
url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/rss/$', TagThreadsFeed()),
url(r'^thread/(?P<post_id>\d+)/rss/$', ThreadPostsFeed()),
# i18n
url(r'^jsi18n/$', cached_javascript_catalog, js_info_dict,
name='js_info_dict'),
# API
url(r'^api/post/(?P<post_id>\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<count>\w+)/$', api.api_get_threads,
name='get_threads'),
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,
name='get_thread'),
url(r'^api/add_post/(?P<opening_post_id>\w+)/$', api.api_add_post,
name='add_post'),
url(r'^api/notifications/(?P<username>\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'),
# 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<username>\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<post_id>\d+)$', get_post_sync_data,
name='post_sync_data'),
]
# Search
if 'haystack' in neboard.settings.INSTALLED_APPS:
from boards.views.search import BoardSearchView
urlpatterns.append(url(r'^search/$', BoardSearchView.as_view(), name='search'))