in crashclouseau/models.py [0:0]
def get_last_versions(date, channel, product, n=0):
qs = (
db.session.query(Build.buildid, Build.version, Node.node)
.select_from(Build)
.filter(
Build.buildid <= date,
Build.product == product,
Build.channel == channel,
)
)
qs = qs.join(Node).order_by(Build.buildid.desc())
if n >= 1:
qs = qs.limit(n)
res = []
major = 0
for q in qs:
if major == 0:
major = utils.get_major(q.version)
elif major != utils.get_major(q.version):
break
res.append(
{
"buildid": utils.get_buildid(q.buildid),
"revision": q.node,
"version": q.version,
}
)
if len(res) >= 2:
return res
return []