from handlers_base import *
-
-class NopasteIndexHandler(BaseHandler):
+class NopasteCreateHandler(BaseHandler):
def get(self):
- self.render("nopaste-index.html")
+ self.render("nopaste/create.html")
def post(self):
- pass
+ subject = self.get_argument("subject", None)
+ content = self.get_argument("content")
+
+ expires = self.get_argument("expires", "0")
+ try:
+ expires = int(expires)
+ except (TypeError, ValueError):
+ expires = None
+
+ uid = self.backend.nopaste.create(subject, content,
+ expires=expires, account=self.current_user,
+ address=self.get_remote_ip())
+
+ if uid:
+ return self.redirect("/view/%s" % uid)
+
+ raise tornado.web.HTTPError(500)
+
+
+class NopasteRawHandler(BaseHandler):
+ def get(self, uid):
+ entry = self.backend.nopaste.get(uid)
+ if not entry:
+ raise tornado.web.HTTPError(404)
+
+ # Set mimetype
+ self.set_header("Content-Type", entry.mimetype)
+
+ # Send content
+ self.finish(entry.content)
-class NopasteEntryHandler(BaseHandler):
- def get(self, uuid):
- pass
+class NopasteViewHandler(BaseHandler):
+ def get(self, uid):
+ entry = self.backend.nopaste.get(uid)
+ if not entry:
+ raise tornado.web.HTTPError(404)
+ self.render("nopaste/view.html", entry=entry)