From cf27baf51956747f9ea5a349d41e796031871c5c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 6 Nov 2013 21:48:52 -0600 Subject: Add new `signature_bytes` field on package model Now that we have a BinaryField option in Django 1.6, put it to use. Signed-off-by: Dan McGee --- main/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'main/models.py') diff --git a/main/models.py b/main/models.py index 2ace010..91f1483 100644 --- a/main/models.py +++ b/main/models.py @@ -97,7 +97,7 @@ class Package(models.Model): pkgver = models.CharField(max_length=255) pkgrel = models.CharField(max_length=255) epoch = models.PositiveIntegerField(default=0) - pkgdesc = models.TextField(null=True) + pkgdesc = models.TextField('description', null=True) url = models.CharField(max_length=255, null=True) filename = models.CharField(max_length=255) compressed_size = PositiveBigIntegerField() @@ -106,10 +106,11 @@ class Package(models.Model): last_update = models.DateTimeField(db_index=True) files_last_update = models.DateTimeField(null=True, blank=True) created = models.DateTimeField() - packager_str = models.CharField(max_length=255) + packager_str = models.CharField('packager string', max_length=255) packager = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL) - pgp_signature = models.TextField(null=True, blank=True) + pgp_signature = models.TextField('PGP signature', null=True, blank=True) + signature_bytes = models.BinaryField('PGP signature', null=True) flag_date = models.DateTimeField(null=True, blank=True) objects = PackageManager() -- cgit v1.2.3-24-g4f1b From a4cf77ba247605fb442b314e311de2829bb3706b Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 6 Nov 2013 22:05:18 -0600 Subject: Move signature data from base64 string to bytes type Signed-off-by: Dan McGee --- main/models.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'main/models.py') diff --git a/main/models.py b/main/models.py index 91f1483..70872c6 100644 --- a/main/models.py +++ b/main/models.py @@ -1,4 +1,3 @@ -from base64 import b64decode from datetime import datetime from itertools import groupby from pgpdump import BinaryData @@ -141,13 +140,9 @@ class Package(models.Model): @property def signature(self): - try: - data = b64decode(self.pgp_signature.encode('utf-8')) - except TypeError: - return None - if not data: + if not self.signature_bytes: return None - data = BinaryData(data) + data = BinaryData(self.signature_bytes) packets = list(data.packets()) return packets[0] -- cgit v1.2.3-24-g4f1b From 071bd6bd71f681c45048fc0a0961e58d43d44d48 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 6 Nov 2013 22:08:01 -0600 Subject: Drop old base64-ed PGP signature column We've moved onto bytes only now. Signed-off-by: Dan McGee --- main/models.py | 1 - 1 file changed, 1 deletion(-) (limited to 'main/models.py') diff --git a/main/models.py b/main/models.py index 70872c6..3f96408 100644 --- a/main/models.py +++ b/main/models.py @@ -108,7 +108,6 @@ class Package(models.Model): packager_str = models.CharField('packager string', max_length=255) packager = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL) - pgp_signature = models.TextField('PGP signature', null=True, blank=True) signature_bytes = models.BinaryField('PGP signature', null=True) flag_date = models.DateTimeField(null=True, blank=True) -- cgit v1.2.3-24-g4f1b