File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change 11"""Readers from file formats."""
22
33from dataclasses import dataclass
4+ from itertools import count
45from pathlib import Path
56from textwrap import shorten
67from typing import Union
@@ -27,9 +28,17 @@ class ORSOProject:
2728
2829 def __init__ (self , filepath : Union [str , Path ], absorption : bool = False ):
2930 ort_data = load_orso (filepath )
30- self .data = ClassList (
31- [Data (name = dataset .info .data_source .sample .name , data = dataset .data ) for dataset in ort_data ]
32- )
31+ datasets = [Data (name = dataset .info .data_source .sample .name , data = dataset .data ) for dataset in ort_data ]
32+ # orso datasets in the same file can have repeated names!
33+ # but classlists do not allow this
34+ # use this dict to keep track of counts for repeated names
35+ name_counts = {d .name : count (1 ) for d in datasets }
36+ names = [d .name for d in datasets ]
37+ if len (names ) > len (list (set (names ))):
38+ for i , data in enumerate (datasets ):
39+ if data .name in names [:i ]:
40+ data .name += f"-{ name_counts [data .name ]} "
41+ self .data = ClassList (datasets )
3342 self .samples = [
3443 orso_model_to_rat (dataset .info .data_source .sample .model , absorption = absorption ) for dataset in ort_data
3544 ]
You can’t perform that action at this time.
0 commit comments