aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2017-01-22 13:57:24 +0200
committerMart Raudsepp <leio@gentoo.org>2017-01-22 13:57:24 +0200
commitfab9c6f0ce09830aa95fc3bdfe09c03663094660 (patch)
treedc43edecc75da76ddc4531e8fd7a636b33bb6379
parentsync: use dict-comprehension in sync_packages (diff)
downloadgrumpy-fab9c6f0ce09830aa95fc3bdfe09c03663094660.tar.gz
grumpy-fab9c6f0ce09830aa95fc3bdfe09c03663094660.tar.bz2
grumpy-fab9c6f0ce09830aa95fc3bdfe09c03663094660.zip
sync: Fix pkg sync for packages that have a same named pkg in another category
Also fixes an InstrumentedList issue due to change from the categories.packages relationship from dynamic loading to select in commit 8d90fa1009 having broken that earlier
-rw-r--r--backend/lib/sync.py8
1 files changed, 1 insertions, 7 deletions
diff --git a/backend/lib/sync.py b/backend/lib/sync.py
index d292291..7c499b5 100644
--- a/backend/lib/sync.py
+++ b/backend/lib/sync.py
@@ -131,12 +131,6 @@ def sync_categories():
def sync_packages():
for category in Category.query.all():
- if not category.packages:
- print('Category %s has no packages' % category.name)
- existing_packages = []
- else:
- existing_packages = category.packages.all()
-
data = http_session.get(pkg_url_base + "categories/" + category.name + ".json")
if not data:
print("No JSON data for category %s" % category.name) # FIXME: Better handling; mark category as inactive/gone?
@@ -144,7 +138,7 @@ def sync_packages():
packages = data.json()['packages']
# TODO: Use UPSERT instead (on_conflict_do_update)
- existing_packages = {pkg.name: pkg for pkg in Package.query.all()}
+ existing_packages = {pkg.name: pkg for pkg in category.packages}
for package in packages:
if package['name'] in existing_packages: