Mercurial > p > roundup > code
view roundup/cgi/timestamp.py @ 6774:e7b4ad2c57ac
landmarks, skiplink, remove bad attrs, autocomplete search
layout.html:
Add main and nav landmarks to layout templte.
Add skiplink to get to main.
Remove Description meta tag from layout template in favor of
description metadata in individual files.
Remove obsolete border attribute from sourceforge logo.
Add autocomplete="on" attribute for search input box.
doc/*.txt
Remove language attribute from description meta tags.
These changes also occur for other files not in this commit. Thse
other files have changes to files for the 2.2.0 release not yet tobe
committed.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 12 Jul 2022 15:00:30 -0400 |
| parents | 5ec3171580a6 |
| children | 07ce4e4110f5 |
line wrap: on
line source
'''Set of functions of adding/checking timestamp to be used to limit form submission for cgi actions. ''' import time, struct, binascii, base64 from roundup.cgi.exceptions import FormError from roundup.i18n import _ from roundup.anypy.strings import b2s, s2b def pack_timestamp(): return b2s(base64.b64encode(struct.pack("i", int(time.time()))).strip()) def unpack_timestamp(s): try: timestamp = struct.unpack("i", base64.b64decode(s2b(s)))[0] except (struct.error, binascii.Error, TypeError): raise FormError(_("Form is corrupted.")) return timestamp class Timestamped: def timecheck(self, field, delay): try: created = unpack_timestamp(self.form[field].value) except KeyError: raise FormError(_("Form is corrupted, missing: %s." % field)) if time.time() - created < delay: raise FormError(_("Responding to form too quickly.")) return True
