aboutsummaryrefslogtreecommitdiff
path: root/src/ee/xml/bom_file_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/xml/bom_file_utils.py')
-rw-r--r--src/ee/xml/bom_file_utils.py13
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