avoid if/else structures for hashlib/sha compatibility
svn path=/plone.formwidget.captcha/trunk/; revision=48798
This commit is contained in:
parent
cf56f53b89
commit
afac46f0b7
|
@ -3,11 +3,9 @@ import os.path
|
|||
import random
|
||||
import re
|
||||
try:
|
||||
import hashlib
|
||||
USE_HASHLIB = True
|
||||
from hashlib import sha1 as sha
|
||||
except ImportError:
|
||||
import sha
|
||||
USE_HASHLIB = False
|
||||
from sha import sha
|
||||
|
||||
import string
|
||||
import sys
|
||||
|
@ -60,11 +58,7 @@ class Captcha(BrowserView):
|
|||
def _generate_session(self):
|
||||
"""Create a new session id"""
|
||||
if self._session_id is None:
|
||||
if USE_HASHLIB:
|
||||
id = hashlib.sha1(str(random.randrange(sys.maxint))).hexdigest()
|
||||
else:
|
||||
id = sha.new(str(random.randrange(sys.maxint))).hexdigest()
|
||||
|
||||
id = sha(str(random.randrange(sys.maxint))).hexdigest()
|
||||
self._session_id = id
|
||||
self._setcookie(id)
|
||||
|
||||
|
@ -93,12 +87,8 @@ class Captcha(BrowserView):
|
|||
# we're in. Indeed, every second, int(time.time()) increments by 1, so
|
||||
# int(time.time() / 300) will increment by 1 every 5 minutes.
|
||||
secret = getUtility(IKeyManager).secret()
|
||||
if USE_HASHLIB:
|
||||
seeds = [hashlib.sha1(secret + session + str(nowish)).digest(),
|
||||
hashlib.sha1(secret + session + str(nowish - 1)).digest()]
|
||||
else:
|
||||
seeds = [sha.new(secret + session + str(nowish)).digest(),
|
||||
sha.new(secret + session + str(nowish - 1)).digest()]
|
||||
seeds = [sha(secret + session + str(nowish)).digest(),
|
||||
sha(secret + session + str(nowish - 1)).digest()]
|
||||
# The line above generates a seed based on the "nowish" of 5 minutes ago.
|
||||
|
||||
words = []
|
||||
|
|
Reference in New Issue