Parcourir la source

Added to_base_unit to measurement_unit_model

Vsevolod Levitan il y a 1 an
Parent
commit
8e891d7f33
1 fichiers modifiés avec 19 ajouts et 3 suppressions
  1. 19 3
      src/models/measurement_unit_model.py

+ 19 - 3
src/models/measurement_unit_model.py

@@ -6,10 +6,18 @@ class measurement_unit_model (abstract_reference):
     __base_coefficient = None
 
     def __init__(self, base_measurement, base_coefficient):
-        if base_measurement is not measurement_unit_model:
+        """
+        Args:
+            base_measurement (measurement_unit_model): Базовая единица измерения
+            base_coefficint (number): Базовый коэффициент
+        """
+        if not isinstance(base_measurement, measurement_unit_model)\
+            and base_measurement is not None:
             raise argument_exception(
                 "Базовая единица измерения должна быть типа measurement_unit_model")
-        self.__base_measurement_unit
+        if base_measurement is None:
+            self.__base_measurement_unit = type(self)
+        else: self.__base_measurement_unit = base_measurement
         try:
             self.__base_coefficient = float(base_coefficient)
         except TypeError as e:
@@ -29,4 +37,12 @@ class measurement_unit_model (abstract_reference):
             Коэффициент относительно базовой единицы измерения
         """
 
-        return self.__base_coefficient
+        return self.__base_coefficient
+    
+
+    def to_base_unit(self, value):
+        """
+            Значение в базовой единице измерения
+        """
+
+        return value * self.base_coefficient