コード例 #1
0
 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__)
コード例 #2
0
 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__)
コード例 #3
0
 def __init__(self, text):
     super(PeriodLiteral, self).__init__(text,
                                         PeriodValue.Parse(text[1:-1]))
コード例 #4
0
 def computeItem(self, index):
     result = self.low.plusPeriod(PeriodValue(days=index - 1))
     if result < self.low or result > self.high:
         raise IndexOutOfRangeError()
     return result
コード例 #5
0
 def computeItem(self, index):
     result = self.low.plusPeriod(PeriodValue(days=index - 1))
     if cmp(result, self.high) > 0:
         raise IndexOutOfRangeError()
     return result
コード例 #6
0
 def computeItem(self, index):
     result = self.low.plus(PeriodValue(seconds=index - 1))
     if cmp(result.value, self.high.value) > 0:
         raise IndexOutOfRangeError()
     return result