Esempio n. 1
0
def run_add_prompt(parsed_args, printer):
    if parsed_args.title is None:
        parsed_args.title = get_input(printer, 'Title: ', STR_NOT_EMPTY)
    if parsed_args.where is None:
        parsed_args.where = get_input(printer, 'Location: ', STR_ALLOW_EMPTY)
    if parsed_args.when is None:
        parsed_args.when = get_input(printer, 'When: ', PARSABLE_DATE)
    if parsed_args.duration is None:
        if parsed_args.allday:
            prompt = 'Duration (days): '
        else:
            prompt = 'Duration (human readable): '
        parsed_args.duration = get_input(printer, prompt, PARSABLE_DURATION)
    if parsed_args.description is None:
        parsed_args.description = get_input(printer, 'Description: ',
                                            STR_ALLOW_EMPTY)
    if not parsed_args.reminders:
        while True:
            r = get_input(printer, 'Enter a valid reminder or '
                          '"." to end: ', REMINDER)

            if r == '.':
                break
            n, m = utils.parse_reminder(str(r))
            parsed_args.reminders.append(str(n) + ' ' + m)
Esempio n. 2
0
def run_add_prompt(parsed_args, printer):
    if parsed_args.title is None:
        parsed_args.title = get_input(printer, 'Title: ', STR_NOT_EMPTY)
    if parsed_args.where is None:
        parsed_args.where = get_input(
            printer, 'Location: ', STR_ALLOW_EMPTY)
    if parsed_args.when is None:
        parsed_args.when = get_input(printer, 'When: ', PARSABLE_DATE)
    if parsed_args.duration is None:
        if parsed_args.allday:
            prompt = 'Duration (days): '
        else:
            prompt = 'Duration (minutes): '
        parsed_args.duration = get_input(printer, prompt, STR_TO_INT)
    if parsed_args.description is None:
        parsed_args.description = get_input(
            printer, 'Description: ', STR_ALLOW_EMPTY)
    if not parsed_args.reminders:
        while True:
            r = get_input(
                    printer, 'Enter a valid reminder or ' '"." to end: ',
                    REMINDER)

            if r == '.':
                break
            n, m = utils.parse_reminder(str(r))
            parsed_args.reminders.append(str(n) + ' ' + m)
Esempio n. 3
0
def test_parse_reminder():
    MINS_PER_DAY = 60 * 24
    MINS_PER_WEEK = MINS_PER_DAY * 7

    rem = '5m email'
    tim, method = parse_reminder(rem)
    assert method == 'email'
    assert tim == 5

    rem = '2h sms'
    tim, method = parse_reminder(rem)
    assert method == 'sms'
    assert tim == 120

    rem = '1d popup'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_DAY

    rem = '1w'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_WEEK

    rem = '10w'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_WEEK * 10

    rem = 'invalid reminder'
    assert parse_reminder(rem) is None
Esempio n. 4
0
def test_parse_reminder():
    MINS_PER_DAY = 60 * 24
    MINS_PER_WEEK = MINS_PER_DAY * 7

    rem = '5m email'
    tim, method = parse_reminder(rem)
    assert method == 'email'
    assert tim == 5

    rem = '2h sms'
    tim, method = parse_reminder(rem)
    assert method == 'sms'
    assert tim == 120

    rem = '1d popup'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_DAY

    rem = '1w'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_WEEK

    rem = '10w'
    tim, method = parse_reminder(rem)
    assert method == 'popup'
    assert tim == MINS_PER_WEEK * 10

    rem = 'invalid reminder'
    assert parse_reminder(rem) is None
Esempio n. 5
0
def validreminder(value):
    if not utils.parse_reminder(value):
        raise argparse.ArgumentTypeError(
                "Not a valid reminder string: %s" % value)
    else:
        return value
Esempio n. 6
0
def validreminder(value):
    if not utils.parse_reminder(value):
        raise argparse.ArgumentTypeError(
                'Not a valid reminder string: %s' % value)
    else:
        return value