equal
deleted
inserted
replaced
18 """abstract class for http request""" |
18 """abstract class for http request""" |
19 |
19 |
20 __docformat__ = "restructuredtext en" |
20 __docformat__ = "restructuredtext en" |
21 |
21 |
22 import Cookie |
22 import Cookie |
23 try: |
23 import hashlib |
24 import hashlib |
|
25 hashlib.hash |
|
26 except AttributeError: |
|
27 # python 2.5 ... |
|
28 import sha as hashlib |
|
29 import time |
24 import time |
30 import random |
25 import random |
31 import base64 |
26 import base64 |
32 from datetime import date |
27 from datetime import date |
33 from urlparse import urlsplit |
28 from urlparse import urlsplit |
362 return "javascript:userCallbackThenReloadPage('%s', %s)" % ( |
357 return "javascript:userCallbackThenReloadPage('%s', %s)" % ( |
363 cbname, msg) |
358 cbname, msg) |
364 |
359 |
365 def register_onetime_callback(self, func, *args): |
360 def register_onetime_callback(self, func, *args): |
366 cbname = 'cb_%s' % ( |
361 cbname = 'cb_%s' % ( |
367 hashlib.sha('%s%s%s%s' % (time.time(), func.__name__, |
362 hashlib.sha1('%s%s%s%s' % (time.time(), func.__name__, |
368 random.random(), |
363 random.random(), |
369 self.user.login)).hexdigest()) |
364 self.user.login)).hexdigest()) |
370 def _cb(req): |
365 def _cb(req): |
371 try: |
366 try: |
372 ret = func(req, *args) |
367 ret = func(req, *args) |
373 except TypeError: |
368 except TypeError: |
374 from warnings import warn |
369 from warnings import warn |