web/request.py
branchstable
changeset 5884 a0eb685dfe7a
parent 5777 941038164cf5
child 5890 141b935a38fc
equal deleted inserted replaced
5867:7ef636d24ab2 5884:a0eb685dfe7a
    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