def print_recent_week(opts, categories): """Show a list of all entries from the recent week.""" width, _ = get_terminal_size() week_ago = (datetime.utcnow() - timedelta(weeks=1)).isoformat() for entry in _generate_merged_entries_from_s3(opts): if entry['timestamp'] > week_ago: if not opts.category or entry.get('category') == opts.category: print_entry(entry, categories, width=width)
def _do_todo_list(opts, categories): """Show a menu for completing todo items""" width, _ = get_terminal_size() menu_items = list(enumerate( _generate_incomplete_entries(opts, categories), start=1)) for index, entry in menu_items: print_entry(entry, categories, width=width, prefix=str(index) + ') ') try: completed_index = int(get_console_input( "Which entry did you complete [Enter to quit]? ")) except ValueError: print "No entries changed." return entry = dict(menu_items).get(completed_index) logit(opts, { 'category': entry['category'], 'ref_id': unique_id_from_entry(entry), 'complete': True })
def _do_merge(categories, opts): """Show the contents when merged from all installations.""" width, _ = get_terminal_size() for entry in _generate_merged_entries_from_s3(opts): print_entry(entry, categories, width=width)
def _do_list(opts, categories, category=None): width, _ = get_terminal_size() for entry in _generate_entries_from_local_file(opts, sort=True): if not category or entry.get('category') == category: print_entry(entry, categories, width=width)