def from_quantity_units(cls, quantity, information_unit, duration_unit): """ Initialise a new speed object from a quantity and unit string. :param quantity: The number of the unit. :param information_unit: The information part of the unit, e.g. 'GiB'. :param duration_unit: The duration part of the unit, e.g. 'week'. :return: A `Speed` object representing the quantity and unit. """ information = Information.from_quantity_unit(quantity, information_unit) duration = Duration.from_quantity_unit(1, duration_unit) return Speed(information, duration)
def p_duration_number_duration_unit_duration(self, p): 'duration : NUMBER DURATION_UNIT duration' logger.debug('duration = number %s, duration unit %s, duration %s', p[1], p[2], p[3]) duration = Duration.from_quantity_unit(p[1], p[2]) p[0] = duration + p[3]
def test_from_quantity_unit(self): self.assertEqual(Duration.from_quantity_unit(1.35, 'hours'), Duration(hours=1.35))
def p_duration_duration_unit(self, p): 'duration : DURATION_UNIT' logger.debug('duration = 1 of duration unit %s', p[1]) p[0] = Duration.from_quantity_unit(1, p[1])