monarch-initiative / koza

Data transformation framework for LinkML data models
https://koza.monarchinitiative.org/
BSD 3-Clause "New" or "Revised" License
47 stars 4 forks source link

Koza doesn't play nicely with generators #144

Open DnlRKorn opened 3 weeks ago

DnlRKorn commented 3 weeks ago

I tried to replace the following line of code

while (row := koza_app.get_row()) is not None:
xyz

with

koza_app = get_koza_app("go_annotation")
def row_gen():   while True:
       try:
           row = koza_app.get_row()
           yield row
       except StopIteration:
           return

for row in row_gen():
   xyz

But this caused some form of infinite loop to begin firing within the koza module

2024-08-16_14:09:34 | INFO | koza.io.reader.csv_reader | Finished processing 19 rows for go_annotation from file data/go/9606.go_annotations.gaf.gz 2024-08-16_14:09:34 | INFO | koza.io.reader.csv_reader | Finished processing 19 rows for go_annotation from file data/go/9606.go_annotations.gaf.gz 2024-08-16_14:09:34 | INFO | koza.io.reader.csv_reader | Finished processing 19 rows for go_annotation from file data/go/9606.go_annotations.gaf.gz 2024-08-16_14:09:34 | INFO | koza.io.reader.csv_reader | Finished processing 19 rows for go_annotation from file data/go/9606.go_annotations.gaf.gz 2024-08-16_14:09:34 | INFO | koza.io.reader.csv_reader | Finished processing 19 rows for go_annotation from file data/go/9606.go_annotations.gaf.gz