コード例 #1
0
def respond_schedule(message):

    calendar_ids = {
        '塩ホッケ': '*****@*****.**',
        '大西': '*****@*****.**',
        '耀太': '*****@*****.**'
    }
    john_events = get_upcoming_events(calendar_id=calendar_ids['塩ホッケ'],
                                      max_results=100)
    mary_events = get_upcoming_events(calendar_id=calendar_ids['大西'],
                                      max_results=100)
    mike_events = get_upcoming_events(calendar_id=calendar_ids['耀太'],
                                      max_results=100)

    from pprint import pprint
    min_time, max_time = datetime.time(18, 0), datetime.time(21, 0)
    intervals = get_available_time(min_time, max_time, john_events,
                                   mary_events, mike_events)
    free_list = []

    for date in sorted(intervals.keys()):
        for pair in intervals[date]:
            start, end = pair
            start_str = start.strftime('%m/%d %H:%M')
            end_str = end.strftime('%m/%d %H:%M')
            text = '\r\n' + start_str + " ~ " + end_str
            free_list.append(text)

    reply_schedule = ' '.join(free_list)
    reply_message = '\r\n' + "3人の都合が合う日はこれです" + reply_schedule
    message.reply(reply_message)
コード例 #2
0
def respond_schedule_today(message):
    #calendar_id = '*****@*****.**'
    #reply_message = events2text(calendar_id=calendar_id)
    #swordart_events = get_upcoming_events(calendar_id=calendar_ids['swordart'], max_results=100)
    #marianne_events = get_upcoming_events(calendar_id=calendar_ids['marianne'], max_results=100)
    #honnoji_events = get_upcoming_events(calendar_id=calendar_ids['honnoji'], max_results=100)

    for key in calendar_ids:
        reply_message = events2text_custom(
            events_from_now(events_today(get_upcoming_events(calendar_id=calendar_ids[key]))))
        message.reply(reply_message)
コード例 #3
0
ファイル: find_avairable_time.py プロジェクト: ehyai/scheban
    for date, ivals in intervals.items():
        max_time = ivals[0][1]
        for i in range(len(ivals) - 1):
            first, second = ivals[i], ivals[i+1]
            max_time = max(max_time, first[1])
            if max_time >= second[0]:
                continue
            free_interval = (max_time, second[0])
            free_intervals[date].append(free_interval)
    return free_intervals


def get_available_time(min_time, max_time, *events_list):
    intervals = extract_intervals(events_list)
    intervals = add_sentinels(intervals, min_time, max_time)
    intervals = sort_intervals(intervals)
    intervals = find_free_intervals(intervals)
    return intervals


if __name__ == '__main__':
    calendar_ids = {'John': '*****@*****.**',
                    'Mary': '*****@*****.**',
                    'Mike': '*****@*****.**'}
    john_events = get_upcoming_events(calendar_id=calendar_ids['John'], max_results=100)
    mary_events = get_upcoming_events(calendar_id=calendar_ids['Mary'], max_results=100)
    mike_events = get_upcoming_events(calendar_id=calendar_ids['Mike'], max_results=100)

    from pprint import pprint
    min_time, max_time = datetime.time(9, 0), datetime.time(18, 0)  # search free time between 9 and 18 o'clock.
    pprint(get_available_time(min_time, max_time, john_events, mary_events, mike_events))
コード例 #4
0
            free_intervals[date].append(free_interval)
    return free_intervals


def get_available_time(min_time, max_time, *events_list):
    intervals = extract_intervals(events_list)
    intervals = add_sentinels(intervals, min_time, max_time)
    intervals = sort_intervals(intervals)
    intervals = find_free_intervals(intervals)
    return intervals


if __name__ == '__main__':
    calendar_ids = {
        '岡本': '*****@*****.**',
        '山田': '*****@*****.**',
        '貝原': '*****@*****.**'
    }
    john_events = get_upcoming_events(calendar_id=calendar_ids['岡本'],
                                      max_results=100)
    mary_events = get_upcoming_events(calendar_id=calendar_ids['山田'],
                                      max_results=100)
    mike_events = get_upcoming_events(calendar_id=calendar_ids['貝原'],
                                      max_results=100)

    from pprint import pprint
    min_time, max_time = datetime.time(9, 0), datetime.time(
        18, 0)  # search free time between 9 and 18 o'clock.
    pprint(
        get_available_time(min_time, max_time, john_events, mary_events,
                           mike_events))
コード例 #5
0
def get_available_time(min_time, max_time, *events_list):
    intervals = extract_intervals(events_list)
    intervals = add_sentinels(intervals, min_time, max_time)
    intervals = sort_intervals(intervals)
    intervals = find_free_intervals(intervals)
    return intervals


if __name__ == '__main__':
    calendar_ids = {
        '塩ホッケ': '*****@*****.**',
        '大西': '*****@*****.**',
        '耀太': '*****@*****.**'
    }
    john_events = get_upcoming_events(calendar_id=calendar_ids['塩ホッケ'],
                                      max_results=100)
    mary_events = get_upcoming_events(calendar_id=calendar_ids['大西'],
                                      max_results=100)
    mike_events = get_upcoming_events(calendar_id=calendar_ids['耀太'],
                                      max_results=100)

    from pprint import pprint
    min_time, max_time = datetime.time(9, 0), datetime.time(
        18, 0)  # search free time between 9 and 18 o'clock.
    pprint(
        get_available_time(min_time, max_time, john_events, mary_events,
                           mike_events))

    intervals = get_available_time(min_time, max_time, john_events,
                                   mary_events, mike_events)
    free_list = []
コード例 #6
0
def respond_schedule_swordart(message):
    reply_message = events2text_custom(
        events_from_now(get_upcoming_events(calendar_id=calendar_ids['honnoji'])))
    message.reply(reply_message)