avoid if/else structures for hashlib/sha compatibility

svn path=/plone.formwidget.captcha/trunk/; revision=48798
This commit is contained in:
Thomas Desvenain 2011-04-13 22:25:10 +00:00
parent cf56f53b89
commit afac46f0b7
1 changed files with 5 additions and 15 deletions

View File

@ -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 = []