summaryrefslogtreecommitdiffstats
path: root/apps/patchwork
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2008-09-10 13:20:29 +1000
committerJeremy Kerr <jk@ozlabs.org>2008-09-10 13:20:29 +1000
commitf69773c2f693da03eeb3334d2b0289d738873c63 (patch)
treec534d270c333f36eb0f01925cb0bf4c79712c1f5 /apps/patchwork
parent331db999e0306539940965123a001da135b0ac62 (diff)
downloadpatchwork-f69773c2f693da03eeb3334d2b0289d738873c63.tar.bz2
patchwork-f69773c2f693da03eeb3334d2b0289d738873c63.tar.xz
Simplify hashlib behaviour in HashField
We only need to keep the size of the field required, not the whole hashlib constructor Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'apps/patchwork')
-rw-r--r--apps/patchwork/models.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/apps/patchwork/models.py b/apps/patchwork/models.py
index e2b636e..62ce592 100644
--- a/apps/patchwork/models.py
+++ b/apps/patchwork/models.py
@@ -177,29 +177,24 @@ class HashField(models.CharField):
try:
import hashlib
self.hashlib = True
- n_bytes = len(hashlib.new(self.algorithm).hexdigest())
+ self.n_bytes = len(hashlib.new(self.algorithm).hexdigest())
except ImportError:
self.hashlib = False
if algorithm == 'sha1':
import sha
- self.hash_constructor = sha.new
+ hash_constructor = sha.new
elif algorithm == 'md5':
import md5
- self.hash_constructor = md5.new
+ hash_constructor = md5.new
else:
raise NameError("Unknown algorithm '%s'" % algorithm)
- n_bytes = len(self.hash_constructor().hexdigest())
+ self.n_bytes = len(hash_constructor().hexdigest())
- kwargs['max_length'] = n_bytes
+ kwargs['max_length'] = self.n_bytes
super(HashField, self).__init__(*args, **kwargs)
def db_type(self):
- if self.hashlib:
- import hashlib
- n_bytes = len(hashlib.new(self.algorithm).hexdigest())
- else:
- n_bytes = len(self.hash_constructor().hexdigest())
- return 'char(%d)' % n_bytes
+ return 'char(%d)' % self.n_bytes
class Patch(models.Model):
project = models.ForeignKey(Project)