Files
galaxy/test/functional/tools/parameters/gx_drill_down_code.py
T
2024-10-22 07:49:37 -04:00

25 lines
1009 B
Python

def collate_table(path: str) -> list:
with open(path, "r") as f:
contents = f.read()
first_options = []
second_options = []
values = [
{"name": "First Column", "value": "first", "selected": False, "options": first_options},
{"name": "Second Column", "value": "second", "selected": False, "options": second_options},
]
seen_in_column_1 = set()
seen_in_column_2 = set()
for line in contents.splitlines():
parts = line.split("\t")
if len(parts) >= 1:
val = parts[0]
if val not in seen_in_column_1:
first_options.append({"name": val.upper(), "value": val, "selected": False, "options": []})
seen_in_column_1.add(val)
if len(parts) >= 2:
val = parts[1]
if val not in seen_in_column_2:
second_options.append({"name": val.upper(), "value": val, "selected": False, "options": []})
seen_in_column_2.add(val)
return values