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)
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)
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
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
def validreminder(value): if not utils.parse_reminder(value): raise argparse.ArgumentTypeError( "Not a valid reminder string: %s" % value) else: return value
def validreminder(value): if not utils.parse_reminder(value): raise argparse.ArgumentTypeError( 'Not a valid reminder string: %s' % value) else: return value