def Subtract(self, context, value): if isinstance(value, DateValue): td = self.value - value.value return PeriodValue(delta=td) elif isinstance(value, PeriodValue): return self.minus(value) else: raise SyntaxError("Illegal: Date - " + type(value).__name__)
def Subtract(self, context, value): if isinstance(value, TimeValue): return PeriodValue(hours=self.value.hour - value.value.hour, \ minutes=self.value.minute - value.value.minute, \ seconds=self.value.second - value.value.second, \ millis=(self.value.microsecond - value.value.microsecond)/1000) elif isinstance(value, PeriodValue): return self.minus(value) else: raise SyntaxError("Illegal: Time - " + type(value).__name__)
def __init__(self, text): super(PeriodLiteral, self).__init__(text, PeriodValue.Parse(text[1:-1]))
def computeItem(self, index): result = self.low.plusPeriod(PeriodValue(days=index - 1)) if result < self.low or result > self.high: raise IndexOutOfRangeError() return result
def computeItem(self, index): result = self.low.plusPeriod(PeriodValue(days=index - 1)) if cmp(result, self.high) > 0: raise IndexOutOfRangeError() return result
def computeItem(self, index): result = self.low.plus(PeriodValue(seconds=index - 1)) if cmp(result.value, self.high.value) > 0: raise IndexOutOfRangeError() return result