aboutsummaryrefslogtreecommitdiff
path: root/src/ee/part
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/part')
-rw-r--r--src/ee/part/__init__.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ee/part/__init__.py b/src/ee/part/__init__.py
index 43e4cfa..ff6c7f1 100644
--- a/src/ee/part/__init__.py
+++ b/src/ee/part/__init__.py
@@ -203,6 +203,18 @@ class Part(object):
def supplier(self) -> str:
return self.xml.supplierProp
+ @property
+ def printable_reference(self):
+ for refs, value in [(self.get_schematic_references(), lambda sr: sr.referenceProp),
+ (self.get_part_references(), lambda pr: pr.part_uriProp),
+ (self.get_mpns(), lambda mpn: mpn.valueProp),
+ (self.get_spns(), lambda spn: spn.valueProp)]:
+ ref = next(iter(refs), None)
+ if ref:
+ return value(ref)
+
+ return self.uri
+
# Part number ref
def add_part_reference(self, uri):
@@ -366,6 +378,9 @@ class PartDb(object):
def size(self) -> int:
return len(self.parts)
+ def __len__(self):
+ return self.size()
+
@property
def has_assembly(self):
return self._assembly is not None