123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from src.models.abstract_reference import abstract_reference
- from src.validation.validator import validator
- class measurement_unit_model (abstract_reference):
- # Базовая единица измерения
- __base_measurement_unit = None
- # Базовый коэффициент
- __base_coefficient = None
- # Валидатор
- __vtor = validator()
- def __init__(self, name, base_coefficient = 1, base_measurement=None):
- """
- Args:
- base_measurement (measurement_unit_model): Базовая единица измерения
- base_coefficint (number): Базовый коэффициент
- """
- self.__vtor.check_type_any(base_measurement, measurement_unit_model, None)
- self.__vtor.check_number(base_coefficient)
- self.__base_measurement_unit = base_measurement
- self.__base_coefficient = base_coefficient
- super().__init__(name)
-
- @property
- def base_measurement_unit(self):
- """
- Базовая единица измерения
- """
- if self.__base_measurement_unit is None:
- return self
- return self.__base_measurement_unit
-
- @property
- def base_coefficient(self):
- """
- Коэффициент относительно базовой единицы измерения
- """
- return self.__base_coefficient
-
- def to_base_unit(self, value):
- """
- Значение в базовой единице измерения
- """
- return value * self.base_coefficient
|