Example #1
0
def minion_recent(args):
    ''' Show N most recent notes'''
    try:
        days_back = int(args['--days'])
    except (ValueError, TypeError):
        days_back = int(brain.get_setting('notes', 'default_recent_days'))

    match_files = get_match_files(args, days=days_back)
    recent_files = brain.list_recent(match_files)
    print "Notes modified in last %s days (most recent last):" % days_back
    brain.display_output(title=args['<text>'],
                         output=recent_files,
                         raw_files=args['--files'])
Example #2
0
def minion_recent(args):
    ''' Show N most recent notes'''
    try:
        days_back = int(args['--days'])
    except (ValueError, TypeError):
        days_back = int(brain.get_setting('notes', 'default_recent_days'))

    match_files = get_match_files(args, days=days_back)
    recent_files = brain.list_recent(match_files)
    print("Notes modified in last %s days (most recent last):" % days_back)
    brain.display_output(
        title=args['<text>'],
        output=recent_files,
        raw_files=args['--files'])
Example #3
0
def minion_dates(args):
    '''Display all notes with dates in them and filtered by keywords.'''
    events = dict()
    match_files = get_match_files(args)
    for filename in match_files:
        content = brain.get_file_content(filename)
        dates = brain.get_unique_dates(content)
        if dates:
            for date in dates:
                try:
                    if date in events:
                        events[date].append(filename)
                    else:
                        events[date] = [filename]
                except ValueError:
                    # Date before 1900
                    _LOGGER.warn('Encountered date before 1900.')

    days_back = int(brain.get_setting('notes', 'default_recent_days'))
    recent_date = datetime.datetime.today() - datetime.timedelta(
        days=days_back)
    recent_date = recent_date.date()
    upcoming = dict()
    recent = dict()
    today = dict()
    # Sort the events into three sets - past, today and upcoming
    today_date = datetime.datetime.today().date()
    for key in events:
        date_str = key.strftime(get_date_format())
        if key > today_date:
            upcoming[date_str] = events[key]
        elif key == today_date:
            today[date_str] = events[key]
        elif key > recent_date:
            recent[date_str] = events[key]

    brain.display_output('Recent Dates', recent)
    print
    brain.display_output('Today', today)
    print
    brain.display_output('Upcoming Dates', upcoming)
    print
Example #4
0
def minion_dates(args):
    '''Display all notes with dates in them and filtered by keywords.'''
    events = dict()
    match_files = get_match_files(args)
    for filename in match_files:
        content = brain.get_file_content(filename)
        dates = brain.get_unique_dates(content)
        if dates:
            for date in dates:
                try:
                    if date in events:
                        events[date].append(filename)
                    else:
                        events[date] = [filename]
                except ValueError:
                    # Date before 1900
                    _LOGGER.warn('Encountered date before 1900.')

    days_back = int(brain.get_setting('notes', 'default_recent_days'))
    recent_date = datetime.datetime.today() - datetime.timedelta(days=days_back)
    recent_date = recent_date.date()
    upcoming = dict()
    recent = dict()
    today = dict()
    # Sort the events into three sets - past, today and upcoming
    today_date = datetime.datetime.today().date()
    for key in events:
        date_str = key.strftime(get_date_format())
        if key > today_date:
            upcoming[date_str] = events[key]
        elif key == today_date:
            today[date_str] = events[key]
        elif key > recent_date:
            recent[date_str] = events[key]

    brain.display_output('Recent Dates', recent)
    print()
    brain.display_output('Today', today)
    print()
    brain.display_output('Upcoming Dates', upcoming)
    print()