Пример #1
0
 def _firstOrLastValue(self, field, currentIndex, otherIndex):
     currentValue = self._origList[currentIndex]  # Raises IndexError.
     try:
         otherValue = self._origList[otherIndex]
     except IndexError:
         return True
     if field:
         currentValue = lookup_func(currentValue, field)
         otherValue = lookup_func(otherValue, field)
     return currentValue != otherValue
Пример #2
0
 def _firstOrLastValue(self, field, currentIndex, otherIndex):
     currentValue = self._origList[currentIndex] # Raises IndexError.
     try:
         otherValue = self._origList[otherIndex]
     except IndexError:
         return True
     if field:
         currentValue = lookup_func(currentValue, field)
         otherValue = lookup_func(otherValue, field)
     return currentValue != otherValue
Пример #3
0
 def percentOfTotal(self,
                    field=None,
                    suffix='%',
                    default='N/A',
                    decimals=2):
     rec = self._origList[self._index]
     if field:
         val = lookup_func(rec, field)
     else:
         val = rec
     try:
         lis = self._getValues(field, isNumeric)
     except NegativeError:
         return default
     total = sum(lis)
     if total == 0.00:  # Avoid ZeroDivisionError.
         return default
     val = float(val)
     try:
         percent = (val / total) * 100
     except ZeroDivisionError:
         return default
     if decimals == 0:
         percent = int(percent)
     else:
         percent = round(percent, decimals)
     if suffix:
         return str(percent) + suffix  # String.
     else:
         return percent  # Numeric.
Пример #4
0
 def percentOfTotal(self, field=None, suffix='%', default='N/A', decimals=2):
     rec = self._origList[self._index]
     if field:
         val = lookup_func(rec, field)
     else:
         val = rec
     try:
         lis = self._getValues(field, isNumeric)
     except NegativeError:
         return default
     total = sum(lis)
     if total == 0.00: # Avoid ZeroDivisionError.
         return default
     val = float(val)
     try:
         percent = (val / total) * 100
     except ZeroDivisionError:
         return default
     if decimals == 0:
         percent = int(percent)
     else:
         percent = round(percent, decimals)
     if suffix:
         return str(percent) + suffix # String.
     else:
         return percent # Numeric.
Пример #5
0
 def _getValues(self, field=None, criteria=None):
     if field:
         ret = [lookup_func(elm, field) for elm in self._origList]
     else:
         ret = self._origList
     if criteria:
         ret = list(filter(criteria, ret))
     return ret
Пример #6
0
 def _getValues(self, field=None, criteria=None):
     if field:
         ret = [lookup_func(elm, field) for elm in self._origList]
     else:
         ret = self._origList
     if criteria:
         ret = filter(criteria, ret)
     return ret