in QueryGenerator.py [0:0]
def genQueries(self):
# reassign the qid's and ensure queries are ordered by idx
iters = [qg.genQueries() for qg in self.query_generators]
for i, it in enumerate(iters):
q = next(it, None)
if q is not None:
self.heap.append((q, i))
heapq.heapify(self.heap)
qid = 0
while self.heap:
q, i = heapq.heappop(self.heap)
q.qid = qid
qid += 1
yield q
nextq = next(iters[i], None)
if nextq is not None:
heapq.heappush(self.heap, (nextq, i))