web/request.py
changeset 5890 141b935a38fc
parent 5811 e77cea9721e7
parent 5884 a0eb685dfe7a
child 5940 0e3ae19b181a
equal deleted inserted replaced
5883:7a5f370c5be1 5890:141b935a38fc
    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
   367         return "javascript:userCallbackThenReloadPage('%s', %s)" % (
   362         return "javascript:userCallbackThenReloadPage('%s', %s)" % (
   368             cbname, msg)
   363             cbname, msg)
   369 
   364 
   370     def register_onetime_callback(self, func, *args):
   365     def register_onetime_callback(self, func, *args):
   371         cbname = 'cb_%s' % (
   366         cbname = 'cb_%s' % (
   372             hashlib.sha('%s%s%s%s' % (time.time(), func.__name__,
   367             hashlib.sha1('%s%s%s%s' % (time.time(), func.__name__,
   373                                       random.random(),
   368                                        random.random(),
   374                                       self.user.login)).hexdigest())
   369                                        self.user.login)).hexdigest())
   375         def _cb(req):
   370         def _cb(req):
   376             try:
   371             try:
   377                 ret = func(req, *args)
   372                 ret = func(req, *args)
   378             except TypeError:
   373             except TypeError:
   379                 from warnings import warn
   374                 from warnings import warn