from . import base
-class CacheMixin(object):
- pass
-
-class AuthenticationMixin(CacheMixin):
+class AuthenticationMixin(object):
def login(self, account):
# User has logged in, create a session
session_id, session_expires = self.backend.accounts.create_session(
self.redirect("/")
-class RegisterHandler(CacheMixin, base.BaseHandler):
+class RegisterHandler(base.BaseHandler):
def get(self):
# Redirect logged in users away
if self.current_user:
self.render("auth/activated.html", account=account)
-class PasswordResetInitiationHandler(CacheMixin, base.BaseHandler):
+class PasswordResetInitiationHandler(base.BaseHandler):
def get(self):
username = self.get_argument("username", None)
self.redirect("/")
-class SSODiscourse(CacheMixin, base.BaseHandler):
+class SSODiscourse(base.BaseHandler):
@base.ratelimit(minutes=24*60, requests=100)
@tornado.web.authenticated
def get(self):
import email.utils
import tornado.web
-from . import auth
from . import base
from . import ui_modules
-class IndexHandler(auth.CacheMixin, base.BaseHandler):
+class IndexHandler(base.BaseHandler):
def get(self):
posts = self.backend.blog.get_newest(limit=10)
self.render("blog/index.html", posts=posts, latest_post=latest_post)
-class AuthorHandler(auth.CacheMixin, base.BaseHandler):
+class AuthorHandler(base.BaseHandler):
def get(self, uid):
author = self.accounts.get_by_uid(uid)
if not author:
now=datetime.datetime.now())
-class PostHandler(auth.CacheMixin, base.BaseHandler):
+class PostHandler(base.BaseHandler):
def get(self, slug):
post = self.backend.blog.get_by_slug(slug, published=not self.current_user)
if not post:
self.render("blog/post.html", post=post)
-class PublishHandler(auth.CacheMixin, base.BaseHandler):
+class PublishHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, slug):
post = self.backend.blog.get_by_slug(slug, published=False)
self.redirect("/post/%s" % post.slug)
-class DraftsHandler(auth.CacheMixin, base.BaseHandler):
+class DraftsHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
drafts = self.backend.blog.get_drafts(author=self.current_user)
self.render("blog/drafts.html", drafts=drafts)
-class SearchHandler(auth.CacheMixin, base.BaseHandler):
+class SearchHandler(base.BaseHandler):
@base.ratelimit(minutes=5, requests=25)
def get(self):
q = self.get_argument("q")
self.render("blog/search-results.html", q=q, posts=posts)
-class TagHandler(auth.CacheMixin, base.BaseHandler):
+class TagHandler(base.BaseHandler):
def get(self, tag):
posts = self.backend.blog.get_by_tag(tag)
if not posts:
self.render("blog/tag.html", posts=list(posts), tag=tag)
-class YearHandler(auth.CacheMixin, base.BaseHandler):
+class YearHandler(base.BaseHandler):
def get(self, year):
posts = self.backend.blog.get_by_year(year)
if not posts:
self.render("blog/year.html", posts=posts, year=year)
-class ComposeHandler(auth.CacheMixin, base.BaseHandler):
+class ComposeHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
self.render("blog/compose.html", post=None)
self.redirect("/drafts")
-class EditHandler(auth.CacheMixin, base.BaseHandler):
+class EditHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, slug):
post = self.backend.blog.get_by_slug(slug, published=False)
self.redirect("/drafts")
-class DeleteHandler(auth.CacheMixin, base.BaseHandler):
+class DeleteHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, slug):
post = self.backend.blog.get_by_slug(slug, published=False)
import iso3166
import tornado.web
-from . import auth
from . import base
-class DonateHandler(auth.CacheMixin, base.BaseHandler):
+class DonateHandler(base.BaseHandler):
def get(self):
country = self.current_country_code
from .. import fireinfo
-from . import auth
from . import base
from . import ui_modules
-class BaseHandler(auth.CacheMixin, base.BaseHandler):
+class BaseHandler(base.BaseHandler):
@property
def when(self):
return self.get_argument_date("when", None)
from .. import util
-from . import auth
from . import base
-class IndexHandler(auth.CacheMixin, base.BaseHandler):
+class IndexHandler(base.BaseHandler):
def get(self):
self.render("location/index.html",
address=self.current_address,
import tornado.web
-from . import auth
from . import base
from . import ui_modules
-class CreateHandler(auth.CacheMixin, base.BaseHandler):
+class CreateHandler(base.BaseHandler):
MODES = ("paste", "upload")
def get(self):
self.finish(content)
-class ViewHandler(auth.CacheMixin, base.BaseHandler):
+class ViewHandler(base.BaseHandler):
def get(self, uid):
entry = self.backend.nopaste.get(uid)
if not entry:
from .. import countries
-from . import auth
from . import base
from . import ui_modules
-class IndexHandler(auth.CacheMixin, base.BaseHandler):
+class IndexHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
self.render("people/index.html")
-class CallsHandler(auth.CacheMixin, base.BaseHandler):
+class CallsHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid, date=None):
account = self.backend.accounts.get_by_uid(uid)
self.render("people/calls.html", account=account, date=date)
-class CallHandler(auth.CacheMixin, base.BaseHandler):
+class CallHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid, uuid):
account = self.backend.accounts.get_by_uid(uid)
self.render("people/call.html", account=account, call=call)
-class ConferencesHandler(auth.CacheMixin, base.BaseHandler):
+class ConferencesHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
self.render("people/conferences.html", conferences=self.backend.talk.conferences)
-class SubscribeHandler(auth.CacheMixin, base.BaseHandler):
+class SubscribeHandler(base.BaseHandler):
@tornado.web.authenticated
def post(self):
# Give consent
self.render("people/subscribed.html")
-class UnsubscribeHandler(auth.CacheMixin, base.BaseHandler):
+class UnsubscribeHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
if self.current_user.consents_to_promotional_emails:
self.render("people/unsubscribed.html")
-class SIPHandler(auth.CacheMixin, base.BaseHandler):
+class SIPHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid):
account = self.backend.accounts.get_by_uid(uid)
self.render("people/sip.html", account=account)
-class UserEditHandler(auth.CacheMixin, base.BaseHandler):
+class UserEditHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid):
account = self.backend.accounts.get_by_uid(uid)
self.redirect("/users/%s" % account.uid)
-class UserPasswdHandler(auth.CacheMixin, base.BaseHandler):
+class UserPasswdHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid):
account = self.backend.accounts.get_by_uid(uid)
import os.path
import tornado.web
-from . import auth
from . import base
from . import ui_modules
COLOUR_LIGHT = (237,232,232)
COLOUR_DARK = (49,53,60)
-class IndexHandler(auth.CacheMixin, base.BaseHandler):
+class IndexHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
results = None
self.render("users/index.html", q=q, results=results)
-class ShowHandler(auth.CacheMixin, base.BaseHandler):
+class ShowHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, uid):
account = self.backend.accounts.get_by_uid(uid)
return f.getvalue()
-class GroupIndexHandler(auth.CacheMixin, base.BaseHandler):
+class GroupIndexHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
# Only staff can see other groups
self.render("users/groups/index.html")
-class GroupShowHandler(auth.CacheMixin, base.BaseHandler):
+class GroupShowHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, gid):
# Only staff can see other groups
import difflib
import tornado.web
-from . import auth
from . import base
from . import ui_modules
-class ActionEditHandler(auth.CacheMixin, base.BaseHandler):
+class ActionEditHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, path):
if path is None:
self.backend.wiki.refresh()
-class ActionUploadHandler(auth.CacheMixin, base.BaseHandler):
+class ActionUploadHandler(base.BaseHandler):
@tornado.web.authenticated
@base.ratelimit(minutes=60, requests=24)
def post(self):
self.redirect("%s/_files" % path)
-class ActionDeleteHandler(auth.CacheMixin, base.BaseHandler):
+class ActionDeleteHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, path):
# Check permissions
self.redirect("%s/_files" % file.path)
-class ActionRestoreHandler(auth.CacheMixin, base.BaseHandler):
+class ActionRestoreHandler(base.BaseHandler):
@tornado.web.authenticated
@base.ratelimit(minutes=60, requests=24)
def post(self):
self.redirect(page.page)
-class ActionWatchHandler(auth.CacheMixin, base.BaseHandler):
+class ActionWatchHandler(base.BaseHandler):
@tornado.web.authenticated
@base.ratelimit(minutes=60, requests=180)
def get(self, path, action):
self.redirect(page.url)
-class ActionRenderHandler(auth.CacheMixin, base.BaseHandler):
+class ActionRenderHandler(base.BaseHandler):
def check_xsrf_cookie(self):
pass # disabled
self.finish(html)
-class FilesHandler(auth.CacheMixin, base.BaseHandler):
+class FilesHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self, path):
if path is None:
self.finish(blob)
-class PageHandler(auth.CacheMixin, base.BaseHandler):
+class PageHandler(base.BaseHandler):
@property
def action(self):
return self.get_argument("action", None)
self.render("wiki/page.html", page=page, latest_revision=latest_revision)
-class SearchHandler(auth.CacheMixin, base.BaseHandler):
+class SearchHandler(base.BaseHandler):
@base.ratelimit(minutes=5, requests=25)
def get(self):
q = self.get_argument("q")
self.render("wiki/search-results.html", q=q, pages=pages)
-class RecentChangesHandler(auth.CacheMixin, base.BaseHandler):
+class RecentChangesHandler(base.BaseHandler):
def get(self):
recent_changes = self.backend.wiki.get_recent_changes(self.current_user, limit=50)
self.render("wiki/recent-changes.html", recent_changes=recent_changes)
-class TreeHandler(auth.CacheMixin, base.BaseHandler):
+class TreeHandler(base.BaseHandler):
def get(self):
self.render("wiki/tree.html", pages=self.backend.wiki)
-class WatchlistHandler(auth.CacheMixin, base.BaseHandler):
+class WatchlistHandler(base.BaseHandler):
@tornado.web.authenticated
def get(self):
pages = self.backend.wiki.get_watchlist(self.current_user)