summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgen-patch-info.py29
1 files changed, 23 insertions, 6 deletions
diff --git a/gen-patch-info.py b/gen-patch-info.py
index 0c2e768..de82276 100755
--- a/gen-patch-info.py
+++ b/gen-patch-info.py
@@ -43,17 +43,34 @@ if __name__ == '__main__':
print a
for s in a.suites(filter=suites):
print "suite: ",s
- suite = patchtracker.models.RepositorySuite.objects.get(name=s)
+ try:
+ suite = patchtracker.models.RepositorySuite.objects.get(name=s)
+ except patchtracker.models.RepositorySuite.DoesNotExist:
+ suite = patchtracker.models.RepositorySuite.objects.create(name=s)
+ suite.save()
+
for c in a.components(s):
print "\tcomponent:",c
- component = patchtracker.models.RepositoryComponent.objects.get(name=c)
+ try:
+ component = patchtracker.models.RepositoryComponent.objects.get(name=c)
+ except patchtracker.models.RepositoryComponent.DoesNotExist:
+ component = patchtracker.models.RepositoryComponent.objects.create(name=c)
+ component.save()
+
for p in a.sourcepackages(s, c, filter=packages):
print "\t\tpackage:",p
- m = patchtracker.models.SourcePackageMapping.objects.get(suite=suite, component=component, package__name=p.name)
- m.package = p
- m.save()
+ try:
+ pkg = patchtracker.models.SourcePackage.objects.get(name=p.name, version=p.version)
+ except patchtracker.models.SourcePackage.DoesNotExist:
+ p.save()
+ pkg = p
+ try:
+ m = patchtracker.models.SourcePackageMapping.objects.get(suite=suite, component=component, package=pkg)
+ except patchtracker.models.SourcePackageMapping.DoesNotExist:
+ m = patchtracker.models.SourcePackageMapping.objects.create(suite=suite, component=component, package=pkg)
+ m.save()
if gen_pts_index:
- pts_idx.add(p)
+ pts_idx.add(pkg)
if gen_pts_index:
pts_fh = gzip.GzipFile(Conf.pts_index_file, mode="wb")