in crashclouseau/models.py [0:0]
def put_data(data):
revs = defaultdict(lambda: set())
for prod, i in data.items():
for chan, j in i.items():
revs_c = revs[chan]
for k in j.values():
revs_c.add(k["revision"])
for chan, r in revs.items():
revs[chan] = Node.get_ids(r, chan)
for prod, i in data.items():
for chan, j in i.items():
revs_c = revs[chan]
for bid, k in j.items():
rev = k["revision"]
if rev in revs_c:
version = k["version"]
ins = pg.insert(Build).values(
buildid=bid,
product=prod,
channel=chan,
version=version,
nodeid=revs_c[rev],
)
upd = ins.on_conflict_do_nothing()
db.session.execute(upd)
db.session.commit()