예제 #1
0
def create_new_event(dt, summary, description):
    service = get_calendar_service()

    start = dt.isoformat()
    end = (dt + timedelta(hours=1)).isoformat()

    event_result = service.events().insert(
        calendarId='*****@*****.**',
        body={
            "summary": summary,
            "description": description,
            "start": {
                "dateTime": start,
                "timeZone": 'Asia/Yekaterinburg'
            },
            "end": {
                "dateTime": end,
                "timeZone": 'Asia/Yekaterinburg'
            },
            'reminders': {
                'useDefault': False,
                'overrides': [
                    {
                        'method': 'popup',
                        'minutes': 1440
                    },
                ],
            },
        }).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #2
0
def main():
    # creates one hour event tomorrow 10 AM IST
    service = get_calendar_service()

    d = datetime.now().date()
    tomorrow = datetime(d.year, d.month, d.day, 17) + timedelta(days=1)
    start = tomorrow.isoformat()
    end = (tomorrow + timedelta(hours=1)).isoformat()

    event_result = service.events().insert(calendarId='primary',
                                           body={
                                               "summary": '8/19 gc intversiew',
                                               "description":
                                               'owen google test',
                                               "start": {
                                                   "dateTime": start,
                                                   "timeZone":
                                                   'America/New_York'
                                               },
                                               "end": {
                                                   "dateTime": end,
                                                   "timeZone":
                                                   'America/New_York'
                                               },
                                           }).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #3
0
def main():
    # if err.resp.get('content-type', '').startswith('application/json'):
    #     reason = json.loads(err.content).get('error').get('errors')[0].get('reason')

    # from googleapiclient.errors import HttpError
    # try:
    #     ...
    # except HttpError as err:
    # # If the error is a rate limit or connection error,
    # # wait and try again.
    #     if err.resp.status in [403, 500, 503]:
    #         time.sleep(5)
    #     else: raise

    # Delete the event
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='<place your event ID here>',
        ).execute()
    except HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #4
0
def main():
    # creates one hour event tomorrow 10 AM IST
    service = get_calendar_service()

    d = datetime.now().date()
    tomorrow = datetime(d.year, d.month, d.day, 10) + timedelta(days=1)
    start = tomorrow.isoformat()
    end = (tomorrow + timedelta(hours=1)).isoformat()

    event_result = service.events().insert(calendarId='primary',
                                           body={
                                               "summary": 'Walk Dog',
                                               "description":
                                               'Take Bruno out for a walk',
                                               "start": {
                                                   "dateTime": start,
                                                   "timeZone": 'Asia/Kolkata'
                                               },
                                               "end": {
                                                   "dateTime": end,
                                                   "timeZone": 'Asia/Kolkata'
                                               },
                                           }).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #5
0
def book_event(event_id, user_email, user_name):
    service = get_calendar_service()

    event = service.events().get(
        calendarId='primary',
        eventId=event_id,).execute()

    host_email = event['attendees'][0]['email']
    host_name = host_email.split('@')[0]
    summary = (f'{host_name}_{user_name}_booked_slot')
    description = (f"Code Clinic Booked Slot with Host: {host_name} and Attendee: {user_name}")

    event_result = service.events().patch(
        calendarId='primary',
        eventId=event_id,
        body={
        "summary": summary,
        "description": description,
        "attendees": [{"email": host_email},{"email": user_email}],
        "attendees": [{"responseStatus" : "accepted", "email": host_email},
                        {"responseStatus" : "accepted", "email": user_email}],
        },sendUpdates='all'
    ).execute()

    print("updated event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("attendee: ", event_result['attendees'][0]['email'])
    print("attendee: ", event_result['attendees'][1]['email'])
예제 #6
0
def create_event(start,
                 end,
                 summary='no summary',
                 description='no description'):
    # authentication
    service = get_calendar_service()
    # add event
    event_result = service.events().insert(calendarId='primary',
                                           body={
                                               "summary": summary,
                                               "description": description,
                                               "start": {
                                                   "dateTime": start,
                                                   "timeZone": 'Etc/GMT+1'
                                               },
                                               "end": {
                                                   "dateTime": end,
                                                   "timeZone": 'Etc/GMT+1'
                                               },
                                           }).execute()
    # print the event's fields
    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])

    return event_result['id']
예제 #7
0
def addevent(d, lec, time, link):
    # creates one hour event tomorrow 10 AM IST
    service = get_calendar_service()

    tst = datetime(d.year, d.month, d.day, time)
    start = tst.isoformat()
    end = (tst + timedelta(hours=2)).isoformat()

    event_result = service.events().insert(calendarId='primary',
                                           body={
                                               "summary": 'MataAuto ' + lec,
                                               "description": link,
                                               "start": {
                                                   "dateTime": start,
                                                   "timeZone": 'Asia/Kolkata'
                                               },
                                               "end": {
                                                   "dateTime": end,
                                                   "timeZone": 'Asia/Kolkata'
                                               },
                                           }).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
def main():
    # creates one hour event tomorrow 10 AM IST
    service = get_calendar_service()

    d = datetime.now().date()
    tomorrow = datetime(d.year, d.month, d.day, 10) + timedelta(days=1)
    start = tomorrow.isoformat()
    end = (tomorrow + timedelta(hours=1)).isoformat()

    event_result = service.events().insert(
        calendarId='primary',
        body={
            "summary": 'Automating calendar',
            "description":
            'This is a tutorial example of automating google calendar with python',
            "start": {
                "dateTime": start,
                "timeZone": 'Europe/London'
            },
            "end": {
                "dateTime": end,
                "timeZone": 'Europe/London'
            },
        }).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
def main():
   # creates one hour event tomorrow 10 AM EST
   service = get_calendar_service()

   d = datetime.now().date()
   tomorrow = datetime(d.year, d.month, d.day, 10)+timedelta(days=1)
   start = tomorrow.isoformat()
   end = (tomorrow + timedelta(hours=1)).isoformat()

   event_result = service.events().insert(calendarId='primary',
       body={
           "summary": 'Automating calendar',
           "description": 'This is a tutorial example of automating google calendar with python',
           "start": {"dateTime": start, "timeZone": 'US/Eastern'},
           "end": {"dateTime": end, "timeZone": 'US/Eastern'},
           "attendees": [
              {
      "email": "*****@*****.**",
      "displayName": 'example-room',
       }
    ]
   }
   ).execute()

   print("created event")
   print("id: ", event_result['id'])
   with open('created_event_id.txt', 'w') as f:
      print(event_result['id'], file=f)
   print(event_result['summary'])
   print("starts at: ", event_result['start']['dateTime'])
   print("ends at: ", event_result['end']['dateTime'])
예제 #10
0
파일: list_events.py 프로젝트: Seanei/bot
def update(now, end):
    service = get_calendar_service()
    # Call the Calendar API
    now = now.isoformat() + 'Z'  # 'Z' indicates UTC time
    end = end.isoformat() + 'Z'
    events_result = service.events().list(calendarId='primary',
                                          timeMin=now,
                                          timeMax=end,
                                          singleEvents=True,
                                          orderBy='startTime').execute()
    events = events_result.get('items', [])
    ls = {}
    for event in events:
        start = event['start'].get('dateTime', event['start'].get('time'))

        desc = event['description'].split()
        dayOfWeek = event['description'].split()[4][:-1]
        place = desc[desc.index('Lageplan:') + 1:desc.index('Modul:')][0]
        room = ' '.join(desc[desc.index('Raum:') + 1:desc.index('|')])
        if dayOfWeek in ls.keys():
            sched = ls[dayOfWeek] + (start[11:-9] + ', ' + event['summary']
                                     ) + ', ' + place + ', ' + room + '\n'
            ls[dayOfWeek] = sched
        elif dayOfWeek not in ls.keys():
            ls[dayOfWeek] = (start[11:-9] + ', ' + event['summary']
                             ) + ', ' + place + ', ' + room + '\n'
    return ls
def list_events():
   service = get_calendar_service()
   # Call the Calendar API
   now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
   print('Getting List 0 to 10 events')
   events_result = service.events().list(
       calendarId='primary', timeMin=now,
       maxResults=10, singleEvents=True,
       orderBy='startTime').execute()
   events = events_result.get('items', [])

   if not events:
       print('No upcoming events found.')
   for event in events:
       start = event['start'].get('dateTime')
       print(start)
       
       print(start, event['summary'])
       print(event.get('id'))
       
       if start == 2020-10-19:
          print('badiya')
       else:
          print('are ky')

   

   return events
def main():
    # update the event to tomorrow 9 AM IST
    service = get_calendar_service()

    d = datetime.now().date()
    tomorrow = datetime(d.year, d.month, d.day, 9) + timedelta(days=1)
    start = tomorrow.isoformat()
    end = (tomorrow + timedelta(hours=2)).isoformat()

    event_result = service.events().update(
        calendarId='primary',
        eventId='<place your event ID here>',
        body={
            "start": {
                "dateTime": start,
                "timeZone": 'Asia/Kolkata'
            },
            "end": {
                "dateTime": end,
                "timeZone": 'Asia/Kolkata'
            },
        },
    ).execute()
    print("updated event")
    print("id: ", event_result['id'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])

    if __name__ == '__main__':
        main()
예제 #13
0
def fetch_games_from_calendar(
    calendar_id: str,
    fetch_after_this_time: str,
    num_of_events: Optional[int] = _DEFAULT_NUMBER_OF_EVENTS_TO_FETCH
) -> List[Event]:
    """
    Returns list of events of specific calendar

    :param calendar_id: the calendar to extract events from
    :param fetch_after_this_time: from which date to start extract
    :param num_of_events: amount of events to extract. optional
    :return: A list of events
    """

    service = get_calendar_service()
    # Call the Calendar API
    _logger.info(f'Getting List of existing events:')
    events_result = service.events().list(calendarId=calendar_id,
                                          timeMin=fetch_after_this_time,
                                          singleEvents=True,
                                          maxResults=num_of_events,
                                          orderBy='startTime').execute()

    events = events_result.get('items', [])

    if not events:
        _logger.info('No upcoming events found')
    else:
        _logger.info(f'Found {len(events)} events')

    return events
예제 #14
0
def get_calendars_list() -> List[str]:
    """
    Returns list of calendars

    :return: A list of calendars
    """

    service = get_calendar_service()
    # Call the Calendar API
    _logger.info('Getting list of calendars...')
    calendars_result = service.calendarList().list().execute()
    calendars = calendars_result.get('items', [])

    if not calendars:
        _logger.info('No calendars found')

    _logger.info(f'{len(calendars)} calendars found:\n')
    for calendar in calendars:
        summary = calendar['summary']
        desc = calendar['description'] if calendar.get(
            'description') else 'null'
        cal_id = calendar['id']
        primary = '- Primary \n' if calendar.get('primary') else ''
        _logger.info(
            f'Calendar: \n- Summary: {summary}\n- Desc:{desc}\n- ID: {cal_id}\n{primary}'
        )

    return calendars
예제 #15
0
def main():
    # update the event to tomorrow 9 AM IST
    service = get_calendar_service()

    d = datetime.now().date()
    tomorrow = datetime(d.year, d.month, d.day, 9)+timedelta(days=1)
    start = tomorrow.isoformat()
    end = (tomorrow + timedelta(hours=2)).isoformat()

    event_result = service.events().update(
      calendarId='primary',
      eventId='ehlrc0gle2s9goecvu7l0vi3qc',
      body={
       "summary": 'Updated Automating calendar',
       "description": 'This is a tutorial example of automating google calendar with python, updated time.',
       "start": {"dateTime": start, "timeZone": 'Asia/Kolkata'},
       "end": {"dateTime": end, "timeZone": 'Asia/Kolkata'},
       },
    ).execute()

    print("updated event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #16
0
def get_gcalendar(idCal):
    service = get_calendar_service()
    now = datetime.datetime.utcnow().isoformat() + 'Z'
    events_result = service.events().list(calendarId=idCal,
                                          timeMin=now,
                                          maxResults=100,
                                          singleEvents=True,
                                          orderBy='startTime').execute()
    events = events_result.get('items', [])
    return events
def main():
    # Delete the event
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='njdev79d574rdmkv0180t7t7lo',
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
def main():
    # Delete the event
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='t3e8p7kum9hvlfuesr2ssd1qa4',
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")
    
    print("Event deleted")
예제 #19
0
def create(body):
    # creates new event
    service = get_calendar_service()
    # If have any specific calendar just replace calendar id with primary
    event_result = service.events().insert(calendarId=f'{name}',
                                           body=body).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #20
0
    def main():
       # Delete the event
       service = get_calendar_service()
       try:
           service.events().delete(
               calendarId='primary',
               eventId='<place your event ID here>',
           ).execute()
       except googleapiclient.errors.HttpError:
           print("Failed to delete event")

       print("Event deleted")
def main():
    # Delete the event
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='4qnt0okd4dmr0hik3mh073qnls',
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #22
0
def main():
    # Delete the event
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='ehlrc0gle2s9goecvu7l0vi3qc',
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #23
0
def main(value):
    # Delete the event
    print(value)
    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId=value,
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #24
0
def delete_event(event_id):
    # Delete the event
    service = get_calendar_service()

    try:
        service.events().delete(
            calendarId='primary',
            eventId=event_id,
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #25
0
def main():
    # Delete the event

    service = get_calendar_service()
    try:
        service.events().delete(
            calendarId='primary',
            eventId='<event_id_string_from_text_file_inserted_here>',
        ).execute()
    except googleapiclient.errors.HttpError:
        print("Failed to delete event")

    print("Event deleted")
예제 #26
0
def get_calendar_list():
    service = get_calendar_service()
    # Call the Calendar API
    print('Getting list of calendars')
    calendars_result = service.calendarList().list().execute()

    calendars = calendars_result.get('items', [])

    if not calendars:
        print('No calendars found.')
    for calendar in calendars:
        summary = calendar['summary']
        id = calendar['id']
        primary = "Primary" if calendar.get('primary') else ""
        print("%s\t%s\t%s" % (summary, id, primary))
def main(start,end,a):

    service = get_calendar_service()
    event_result = service.events().insert(calendarId='primary',
        body={
            "summary": a,
            "start": {"dateTime": start, "timeZone": 'America/New_York'},
            "end": {"dateTime": end, "timeZone": 'America/New_York'},
        }
    ).execute()

    print("created event")
    print("id: ", event_result['id'])
    print("summary: ", event_result['summary'])
    print("starts at: ", event_result['start']['dateTime'])
    print("ends at: ", event_result['end']['dateTime'])
예제 #28
0
def list_events_summary():
    service = get_calendar_service()
    # Call the Calendar API
    now = datetime.datetime.utcnow().isoformat() + 'Z'  # 'Z' indicates UTCtime
    print('Getting List of events')
    events_result = service.events().list(calendarId=f'{name}',
                                          timeMin=now,
                                          maxResults=100,
                                          singleEvents=True,
                                          orderBy='startTime').execute()
    events = events_result.get('items', [])

    if not events:
        print('No upcoming events found.')
    event_list = [new_event['summary'] for new_event in events]
    return event_list
예제 #29
0
def geturlcal():
   service = get_calendar_service()
   # Call the Calendar API
   now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
   events_result = service.events().list(
       calendarId='primary', timeMin=now,
       maxResults=1, singleEvents=True,
       orderBy='startTime').execute()
   events = events_result.get('items', [])

   if not events:
       return 0
   for event in events:
       start = event['start'].get('dateTime', event['start'].get('date'))
    #    print(start, event['summary'])
       return event['description']
def main():
   service = get_calendar_service()
   eventos = service.events().list(calendarId='*****@*****.**', maxResults=2500).execute()

   # Call the Calendar API
   print('Getting list of calendars')
   calendars_result = service.calendarList().list().execute()

   calendars = calendars_result.get('items', [])

   if not calendars:
       print('No calendars found.')
   for calendar in calendars:
       summary = calendar['summary']
       id = calendar['id']
       primary = "Primary" if calendar.get('primary') else ""
       print("%s\t%s\t%s" % (summary, id, primary))