Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
 def test_completer(self):
     self.assertEqual(set(ui.complete_matches('A: B,C')), set(['A',
                      'A: B,C', 'B', 'B,C', 'C']))