Mercurial > p > roundup > code
view website/issues/extensions/timestamp.py @ 6354:b61de764c8cc
Remove left over python style config remnant, doc update.
Replace three with two as there are only two items in the list.
Remove setting that was used in the code for python style init files.
Support for python style init files removed a while ago and were
deprecated in 0.8 timeframe IIRC.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 29 Mar 2021 00:23:33 -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)
