def getFilter(self): try: value = str(self._valueText.text()).strip() if value: value = to_decimal(value) else: value = None except: value = None descr = str(self._descrText.text()).strip() today = datetime.date.today() filter_ = CombinedFilter() if value is not None: filter_ = filter_ & FilterEqualValue(value) if descr: regexp = re.compile(re.escape(descr), re.IGNORECASE) filter_ = filter_ & FilterRegexpDescr(regexp) if self._rangeCombo.currentText() == self.DATE_RANGE_CURR_MONTH: start_ts = dateutils.startofmonth(today) filter_ = filter_ & FilterGreaterOrEqualDate(start_ts) elif self._rangeCombo.currentText() == self.DATE_RANGE_LAST_90_DAYS: start_ts = today - datetime.timedelta(days=90) filter_ = filter_ & FilterGreaterOrEqualDate(start_ts) elif self._rangeCombo.currentText() == self.DATE_RANGE_CURR_YEAR: start_ts = dateutils.startofyear(today) filter_ = filter_ & FilterGreaterOrEqualDate(start_ts) return filter_
def setValue(self, val): val = to_decimal(val) if val != self._value: self._value = val return True else: return False
def decimal_from_string(s, localename=""): """Return Decimal value converted from given string. Using selected named locale ( i.e. de_DE, en_US ) to parse value.""" try: if not localename: localename = locale.getlocale() return to_decimal(babel.numbers.parse_decimal(s, localename)) except: LOGGER.exception("Failed to convert to decimal") raise ValueException("Unknown value format:" + s)
def parseFromXml(elem, transaction): for itemElem in elem.xpath("item"): v = to_decimal(itemElem.get("value")) d = itemElem.get("descr") c = itemElem.get("confirmed") item = Item(value=v, descr=d, confirmed=c) transaction += item a = itemElem.get("account") if not a in transaction.db: raise UnknownAccountException(a) account = transaction.db[a] account += item
def setDebit(self, val): return self.setValue(-to_decimal(val))
def setAsset(self, val): return self.setValue(to_decimal(val))