[buildinfo.debian.net] 10/35: Tidy up api.utils a bit.
Chris Lamb
chris at chris-lamb.co.uk
Thu Nov 3 19:02:24 UTC 2016
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository buildinfo.debian.net.
commit 75622935420a37c8b6affa6cd930c11a501f7dd9
Author: Chris Lamb <lamby at debian.org>
Date: Sun Oct 23 09:47:09 2016 +0200
Tidy up api.utils a bit.
Signed-off-by: Chris Lamb <lamby at debian.org>
---
bidb/api/utils.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/bidb/api/utils.py b/bidb/api/utils.py
index 5aa8f3d..58a736b 100644
--- a/bidb/api/utils.py
+++ b/bidb/api/utils.py
@@ -3,7 +3,7 @@ import hashlib
from debian import deb822
-from django.db import IntegrityError, transaction
+from django.db import transaction
from bidb.packages.models import Source, Architecture, Binary
from bidb.buildinfo.models import Buildinfo
@@ -26,7 +26,7 @@ def parse_submission(request):
data = deb822.Deb822(raw_text)
raw_text_gpg_stripped = data.dump()
- # Parse GPG info
+ ## Parse GPG info #########################################################
uid = ''
data.raw_text = raw_text
gpg_info = data.get_gpg_info()
@@ -36,6 +36,8 @@ def parse_submission(request):
except (KeyError, IndexError):
raise InvalidSubmission("Could not determine GPG uid")
+ ## Check whether .buildinfo already exists ################################
+
def create_submission(buildinfo):
return buildinfo.submissions.create(
uid=uid,
@@ -43,15 +45,14 @@ def parse_submission(request):
raw_text=raw_text,
)
- # If this .buildinfo already exists, attach a new Submission instance
sha1 = hashlib.sha1(raw_text_gpg_stripped.encode('utf-8')).hexdigest()
try:
+ # Already exists; just attach a new Submission instance
return create_submission(Buildinfo.objects.get(sha1=sha1)), False
except Buildinfo.DoesNotExist:
pass
- if data.get('Format') != '0.1':
- raise InvalidSubmission("Only Format: 0.1 is supported")
+ ## Parse new .buildinfo ###################################################
def get_or_create(model, field):
try:
@@ -59,6 +60,9 @@ def parse_submission(request):
except KeyError:
raise InvalidSubmission("Missing required field: {}".format(field))
+ if data.get('Format') != '0.1':
+ raise InvalidSubmission("Only Format: 0.1 is supported")
+
buildinfo = Buildinfo.objects.create(
sha1=sha1,
raw_text=raw_text_gpg_stripped,
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/buildinfo.debian.net.git
More information about the Reproducible-commits
mailing list