Mercurial > p > roundup > code
view website/issues/extensions/timestamp.py @ 6476:10a8a6bc4667
Change spacing for file addition; larger comment block; top label
Add padding to file input not the close button. This groups the clear
button with its file input.
Comment block becomes larger.
In table layout, make header and data align to top of cell.
Add padding to in table headers, makes the rows easier to scan.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 28 Aug 2021 21:43:11 -0400 |
| parents | 35ea9b1efc14 |
| children |
line wrap: on
line source
import time, struct, base64 from roundup.cgi.actions import RegisterAction from roundup.cgi.exceptions import * def timestamp(): return base64.encodestring(struct.pack("i", time.time())).strip() def unpack_timestamp(s): return struct.unpack("i",base64.decodestring(s))[0] class Timestamped: def check(self): try: created = unpack_timestamp(self.form['opaque'].value) except KeyError: raise FormError("somebody tampered with the form") if time.time() - created < 4: raise FormError("responding to the form too quickly") return True class TimestampedRegister(Timestamped, RegisterAction): def permission(self): self.check() RegisterAction.permission(self) def init(instance): instance.registerUtil('timestamp', timestamp) instance.registerAction('register', TimestampedRegister)
