]>
Commit | Line | Data |
---|---|---|
60024cc8 MT |
1 | #!/usr/bin/python |
2 | ||
3 | import tornado.web | |
4 | ||
5 | from handlers_base import * | |
6 | ||
66862195 | 7 | class NopasteCreateHandler(BaseHandler): |
60024cc8 | 8 | def get(self): |
66862195 | 9 | self.render("nopaste/create.html") |
60024cc8 MT |
10 | |
11 | def post(self): | |
66862195 MT |
12 | subject = self.get_argument("subject", None) |
13 | content = self.get_argument("content") | |
14 | ||
15 | expires = self.get_argument("expires", "0") | |
16 | try: | |
17 | expires = int(expires) | |
18 | except (TypeError, ValueError): | |
19 | expires = None | |
20 | ||
21 | uid = self.backend.nopaste.create(subject, content, | |
22 | expires=expires, account=self.current_user, | |
23 | address=self.get_remote_ip()) | |
24 | ||
25 | if uid: | |
26 | return self.redirect("/view/%s" % uid) | |
27 | ||
28 | raise tornado.web.HTTPError(500) | |
29 | ||
30 | ||
31 | class NopasteRawHandler(BaseHandler): | |
32 | def get(self, uid): | |
33 | entry = self.backend.nopaste.get(uid) | |
34 | if not entry: | |
35 | raise tornado.web.HTTPError(404) | |
36 | ||
37 | # Set mimetype | |
38 | self.set_header("Content-Type", entry.mimetype) | |
39 | ||
40 | # Send content | |
41 | self.finish(entry.content) | |
60024cc8 MT |
42 | |
43 | ||
66862195 MT |
44 | class NopasteViewHandler(BaseHandler): |
45 | def get(self, uid): | |
46 | entry = self.backend.nopaste.get(uid) | |
47 | if not entry: | |
48 | raise tornado.web.HTTPError(404) | |
60024cc8 | 49 | |
66862195 | 50 | self.render("nopaste/view.html", entry=entry) |