aboutsummaryrefslogtreecommitdiff
path: root/src/ee/part/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/part/__init__.py')
-rw-r--r--src/ee/part/__init__.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ee/part/__init__.py b/src/ee/part/__init__.py
index 7a58f75..fbf0838 100644
--- a/src/ee/part/__init__.py
+++ b/src/ee/part/__init__.py
@@ -56,6 +56,17 @@ class Part(object):
def get_part_references(self) -> List[types.PartReference]:
return self.xml.referencesProp.part_referenceProp
+ def get_exactly_one_part_reference(self) -> types.PartReference:
+ refs = self.get_part_references()
+ if len(refs) == 0:
+ raise EeException("This part does not contain any part references{}".
+ format(", uri=" + self.uri if self.uri else ""))
+ if len(refs) != 1:
+ raise EeException("This part does not contain exactly one part reference: {}".
+ format(", ".join([ref.part_uriProp for ref in refs])))
+
+ return refs[0]
+
# Schematic references
def add_schematic_reference(self, ref):