in crashclouseau/models.py [0:0]
def find(filenames, mindate, maxdate, channel):
if not filenames:
return None
chgs = (
db.session.query(Changeset.id, File.name, Node.node)
.select_from(Changeset)
.join(Node)
.join(File)
)
chgs = chgs.filter(
File.name.in_(filenames),
mindate <= Node.pushdate,
Node.pushdate <= maxdate,
Node.channel == channel,
Node.merge.is_(False),
)
res = {}
for _, fname, node in chgs:
if fname not in res:
res[fname] = []
res[fname].append(node)
return res