diff options
Diffstat (limited to 'src/ee/xml/bom_file_utils.py')
-rw-r--r-- | src/ee/xml/bom_file_utils.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ee/xml/bom_file_utils.py b/src/ee/xml/bom_file_utils.py index f09a3dd..15f99b2 100644 --- a/src/ee/xml/bom_file_utils.py +++ b/src/ee/xml/bom_file_utils.py @@ -1,14 +1,23 @@ from typing import List, Optional -from ee.xml import bomFile +from ee.xml import bomFile, indexFile __all__ = [ - "part_numbers", + "find_root_tag", "find_pn", "find_dpn", ] +def find_root_tag(root): + tag = next((tag for tag, klass in bomFile.GDSClassesMapping.items() if klass == type(root)), None) + + if tag is not None: + return tag + + return next((tag for tag, klass in indexFile.GDSClassesMapping.items() if klass == type(root))) + + def part_numbers(part: bomFile.Part) -> List[bomFile.PartNumber]: pns = part.part_numbersProp # type: bomFile.PartNumberList |