def query_basic_ruler(t, default_ruler): """Define basic rule consisting of matching full words on payee field. """ default_field = 'payee' if not t[default_field]: return set_completer(sorted(complete_matches(t[default_field]))) ruler = quick_input('\n%s match %s' % (default_field.title(), '[%s]' % default_ruler if default_ruler else '')) ruler = tags.rulify(ruler) set_completer() return ruler
def query_basic_ruler(t, default_ruler): """Define basic rule consisting of matching full words on payee field.""" default_field = "payee" if not t[default_field]: return ruler = quick_input( "%s match %s" % (default_field.title(), "[%s]" % default_ruler if default_ruler else ""), sugg=complete_matches(t[default_field]), ) ruler = tags.rulify(ruler) return ruler
def query_match(payee): """Query a match for payee line as long as a correct one is not entered. """ set_completer(sorted(complete_matches(payee))) while True: match = quick_input('Match') if match.isspace(): # Go back, discard entered category print(2 * CLEAR, end='') break if not tags.is_match(match, payee): print(CLEAR + '%s Match rejected: %s' % (TERM.red('✖'), diff(payee, match, TERM, as_error=True))) else: print(CLEAR + "%s Match accepted: %s" % (TERM.green('✔'), str(match) if match else TERM.red('<none>'))) break set_completer() return match
def query_match(payee): """Query a match for payee line as long as a correct one is not entered. """ set_completer(sorted(complete_matches(payee))) while True: match = quick_input('Match') if match.isspace(): # Go back, discard entered category print(2 * CLEAR, end='') break if not tags.is_match(match, payee): print(CLEAR + '%s Match rejected: %s' % (TERM.red('✖'), diff(payee, match, TERM, as_error=True))) else: print( CLEAR + "%s Match accepted: %s" % (TERM.green('✔'), str(match) if match else TERM.red('<none>'))) break set_completer() return match
def test_completer(self): self.assertEqual(set(ui.complete_matches('A: B,C')), set(['A', 'A: B,C', 'B', 'B,C', 'C']))