aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikraman Choudhury <vikraman.choudhury@gmail.com>2011-05-12 04:11:43 +0530
committerVikraman Choudhury <vikraman.choudhury@gmail.com>2011-05-12 04:11:43 +0530
commit7366313b044fddd519a845f555fc8b2d5bd780f5 (patch)
treeb71d26bb3cf2cdd25adb4516c1e3d960ed7b3f45
parentserver working, can POST data successfully :) (diff)
downloadgentoostats-7366313b044fddd519a845f555fc8b2d5bd780f5.tar.gz
gentoostats-7366313b044fddd519a845f555fc8b2d5bd780f5.tar.bz2
gentoostats-7366313b044fddd519a845f555fc8b2d5bd780f5.zip
fix duplicate tuples in packages
-rw-r--r--server/post.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/server/post.py b/server/post.py
index 4cd0712..b9eb46c 100644
--- a/server/post.py
+++ b/server/post.py
@@ -48,9 +48,12 @@ def handler(uuid, data, db):
pkg = data['PACKAGES']
for cpv in pkg.keys():
t = pkgsplit(cpv)
- db.insert('packages', cat=t['cat'], pkg=t['pn'], ver=t['ver'])
- pkey = db.select('packages', vars={'cat':t['cat'], 'pkg':t['pn'], 'ver':t['ver']},
- where='cat=$cat and pkg=$pkg and ver=$ver', what='pkey')[0].pkey
+ s = db.select('packages', vars={'cat':t['cat'], 'pkg':t['pn'], 'ver':t['ver']},
+ where='cat=$cat and pkg=$pkg and ver=$ver')
+ if len(s) == 0:
+ pkey = db.insert('packages', cat=t['cat'], pkg=t['pn'], ver=t['ver'])
+ else:
+ pkey = s[0].pkey
for use in pkg[cpv]:
db.insert('useflags', uuid=uuid, useflag=use, pkey=str(pkey))