diff options
Diffstat (limited to 'src/ee/part/__init__.py')
-rw-r--r-- | src/ee/part/__init__.py | 15 |
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 |