예제 #1
0
    def determineDerivedFields(self, field, useful, derived):

        is_amount, amount = self.determineAmount(field, useful, derived)
        if is_amount:
            return amount
        
        elif (field == 'Date'):
            return self.normalizeDateField(useful[field])

        elif (field == 'Credit'):
            amount = Container.getNegativeAmounts(useful['Amount'])
            no_commas = re.sub(',','', amount)
            if float(no_commas) >= 0.0:
                return amount
            else:
                return ''

        elif (field == 'Debit'):
            amount = Container.getNegativeAmounts(useful['Amount'])
            no_commas = re.sub(',','', amount)
            if float(no_commas) < 0.0:
                return amount
            else:
                return ''

        elif (field == 'Year'):
            return Container.convertDateToYear(useful['Date'])

        elif (field == 'YearMonth'):
            return Container.convertDateToYearMonth(useful['Date'])

        elif (field == 'Mechanism'):
            mech = self.getMethodOfPayment(
                useful['TransferMech1'], useful['TransferMech2'] )
            if useful['TransferMech1'] == "Checking":
                show_check_number = re.sub(
                    'Check','Paper Check ',useful['TransferMech2'])
                return show_check_number
            if useful['TransferMech2'] == "Bill Payment":
                show_check_number = re.sub(
                    'THE LION OF JUDA00','ML BillPay Check ',useful['AccountAlias'])
                return show_check_number
            return mech

        elif (field == 'SimplifiedAlias'):
            self.simplified_alias = re.sub('[0123456789]+', '', useful['AccountAlias'])
            self.simplified_alias = Container.String(self.simplified_alias).removeBlanks()
            return self.simplified_alias

        elif (field == 'Account'):
            self.account_name = self.getAccountTitle(
                useful['AccountAlias'],
                useful['TransferMech1'],
                useful['TransferMech2'],
            )
            return self.account_name

        elif (field == 'Institution'):
            return self.institutionName()

        elif (field == 'CenterAccount'):
            return self.centerAccount()

        elif (field == 'OrbitAccount'):
            return derived['Account']

        elif (field == 'FromAccount'):
            if Container.getFloatNoCommas(self.normalizeAmountField(useful['Amount'], useful)) < 0.0:
                return self.centerAccount()
            else:
                return derived['Account']

        elif (field == 'ToAccount'):
            if Container.getFloatNoCommas(self.normalizeAmountField(useful['Amount'], useful)) < 0.0:
                return derived['Account']
            else:
                return self.centerAccount()
        
        elif (field == 'Subcategory'):
            return self.getSubcategory(self.account_name)

        elif (field == 'Category'):
            return self.getCategory(self.account_name)

        else:
            return useful[field]
예제 #2
0
 def normalizeAmountField(self, amount_text, row):
     return Container.getNegativeAmounts(amount_text)