Skip to content

Commit ce4ec85

Browse files
committed
Small fixes
1 parent e03b810 commit ce4ec85

3 files changed

Lines changed: 8 additions & 7 deletions

File tree

‎sysmlv2_units/compound_units.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ def _parse_units_attr(self, units_attr: syside.AttributeUsage, raise_if_unknown_
174174
if units_attr.feature_value is not None:
175175
parsed_units, value_units_attr = self._parse_units_feature(
176176
units_attr.feature_value.value, raise_if_unknown_unit=False)
177-
if parsed_units is not None:
177+
178+
if parsed_units is not None and isinstance(parsed_units, Unit):
178179
return parsed_units, value_units_attr
179180

180181
# Try to parse a unit by subsetting

‎sysmlv2_units/units_helper.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class SysMLUnitsHelper(SysMLCompoundUnitsHelper):
3434
syside.Operator.ExponentCaret: '^',
3535
}
3636

37-
_units_doc_name = 'units'
37+
_units_doc_name = '_units'
3838

3939
###################################################################
4040
### SysML to Python (pint) conversion functions (SysML getters) ###
@@ -102,7 +102,7 @@ def get_units(self, feature: Union[syside.Feature, syside.Expression], raise_if_
102102
feature_value_error = e
103103

104104
# Parse units from doc
105-
doc_units, has_units_doc = self._get_units_from_doc(feature, raise_if_unknown_unit=raise_if_unknown_unit)
105+
doc_units, has_units_doc = self.get_units_from_doc(feature, raise_if_unknown_unit=raise_if_unknown_unit)
106106
if has_units_doc:
107107
return doc_units, None
108108

@@ -168,14 +168,14 @@ def _get_feature_value_units(self, feature: Union[syside.Feature, syside.Express
168168

169169
# If no units were found, try to parse from units doc
170170
if units is None and units_attr is None and isinstance(feature, syside.Feature):
171-
units_from_docs, has_docs = self._get_units_from_doc(feature, raise_if_unknown_unit=raise_if_unknown_unit)
171+
units_from_docs, has_docs = self.get_units_from_doc(feature, raise_if_unknown_unit=raise_if_unknown_unit)
172172
if has_docs:
173173
units = units_from_docs
174174

175175
return value_expression, is_negation, units, units_attr
176176

177177
@classmethod
178-
def _get_units_from_doc(cls, feature: syside.Feature, raise_if_unknown_unit=True) -> Tuple[Optional[Unit], bool]:
178+
def get_units_from_doc(cls, feature: syside.Feature, raise_if_unknown_unit=True) -> Tuple[Optional[Unit], bool]:
179179
"""Parse units from the units doc. Also returns if the docs were set."""
180180

181181
# Get units doc

‎tests/units_tests.sysml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ package AttrUnits {
7373
attribute tsfc = 5 [SI::g / (SIPrefixes::kilo * SI::N * SI::s)]; // https://en.wikipedia.org/wiki/Thrust-specific_fuel_consumption
7474

7575
attribute strUnits = "pixel";
76-
attribute docUnits { doc units /* pixel */ }
76+
attribute docUnits { doc _units /* pixel */ }
7777
attribute strQuantity = 3.14 ["pixel"];
78-
attribute docQuantity = 96 { doc units /* pixel */ }
78+
attribute docQuantity = 96 { doc _units /* pixel */ }
7979
}

0 commit comments

Comments
 (0)