sync_ics2gcal package
Submodules
sync_ics2gcal.gcal module
- class sync_ics2gcal.gcal.CalendarData[source]
Bases:
TypedDict- description: str
- id: str
- summary: str
- timeZone: str
- class sync_ics2gcal.gcal.EventData[source]
Bases:
TypedDict- created: str
- description: str
- end: EventDate | EventDateTime
- iCalUID: str
- id: str
- location: str
- sequence: int
- start: EventDate | EventDateTime
- status: str
- summary: str
- transparency: str
- updated: str
- visibility: str
- class sync_ics2gcal.gcal.GoogleCalendar(service: Resource, calendar_id: str | None)[source]
Bases:
objectclass to interact with calendar on Google
- calendar_id: str
- create(summary: str, time_zone: str | None = None) Any[source]
create calendar
- Arguments:
summary – new calendar summary
- Keyword Arguments:
timeZone – new calendar timezone as string (optional)
- Returns:
calendar Resource
- delete_events(events: List[EventData]) None[source]
delete events
- Arguments:
events – list of events
- find_exists(events: List[EventData]) EventsSearchResults[source]
find existing events from list, by ‘iCalUID’ field
- Arguments:
events {list} – list of events
- Returns:
- EventsSearchResults – (events_exist, events_not_found)
events_exist - list of tuples: (new_event, exists_event)
- insert_events(events: List[EventData]) None[source]
insert list of events
- Arguments:
events - events list
- list_events_from(start: datetime) List[EventData][source]
list events from calendar, where start date >= start
- logger = <Logger GoogleCalendar (WARNING)>
- patch_events(event_tuples: List[Tuple[EventData, EventData]]) None[source]
patch (update) events
- Arguments:
event_tuples – list of tuples: (new_event, exists_event)
- service: Resource
- class sync_ics2gcal.gcal.GoogleCalendarService[source]
Bases:
objectclass for make google calendar service Resource
- Returns:
service Resource
- static default() Resource[source]
make service Resource from default credentials (authorize) ( https://developers.google.com/identity/protocols/application-default-credentials ) ( https://googleapis.dev/python/google-auth/latest/reference/google.auth.html#google.auth.default )
- static from_config(config: Dict[str, str] | None = None) Resource[source]
make service Resource from config dict
Arguments:
config – config with keys:
(optional) service_account: - service account filename if key not in dict then default credentials will be used ( https://developers.google.com/identity/protocols/application-default-credentials )
– None: default credentials will be used
sync_ics2gcal.ical module
- class sync_ics2gcal.ical.CalendarConverter(calendar: Calendar | None = None)[source]
Bases:
objectConvert icalendar events to google calendar resources
- logger = <Logger CalendarConverter (WARNING)>
- class sync_ics2gcal.ical.EventConverter(*args, **kwargs)[source]
Bases:
EventConvert icalendar event to google calendar resource ( https://developers.google.com/calendar/v3/reference/events#resource-representations )
- sync_ics2gcal.ical.format_datetime_utc(value: date | datetime) str[source]
utc datetime as string from date or datetime value
- Arguments:
value – date or datetime value
- Returns:
utc datetime value as string in iso format
- sync_ics2gcal.ical.gcal_date_or_datetime(value: date | datetime, check_value: date | datetime | None = None) EventDate | EventDateTime[source]
date or datetime to gcal (start or end dict)
- Arguments:
value: date or datetime check_value: optional for choose result type
- Returns:
{ ‘date’: … } or { ‘dateTime’: … }
sync_ics2gcal.manage_calendars module
- class sync_ics2gcal.manage_calendars.Commands(config: str = 'config.yml')[source]
Bases:
objectmanage google calendars in service account
- add_owner(calendar_id: str, email: str) None[source]
add owner to calendar
- Args:
calendar_id: calendar id email: new owner email
- create(summary: str, timezone: str | None = None, public: bool = False) None[source]
create calendar
- Args:
summary: new calendar summary timezone: new calendar timezone public: make calendar public
sync_ics2gcal.sync module
- class sync_ics2gcal.sync.CalendarSync(gcalendar: GoogleCalendar, converter: CalendarConverter)[source]
Bases:
objectclass for synchronize calendar with Google
- logger = <Logger CalendarSync (WARNING)>
sync_ics2gcal.sync_calendar module
Module contents
- class sync_ics2gcal.CalendarConverter(calendar: Calendar | None = None)[source]
Bases:
objectConvert icalendar events to google calendar resources
- calendar: Calendar | None
- logger = <Logger CalendarConverter (WARNING)>
- class sync_ics2gcal.CalendarData[source]
Bases:
TypedDict- description: str
- id: str
- summary: str
- timeZone: str
- class sync_ics2gcal.CalendarSync(gcalendar: GoogleCalendar, converter: CalendarConverter)[source]
Bases:
objectclass for synchronize calendar with Google
- converter: CalendarConverter
- gcalendar: GoogleCalendar
- logger = <Logger CalendarSync (WARNING)>
- class sync_ics2gcal.ComparedEvents(added: List[EventData], changed: List[Tuple[EventData, EventData]], deleted: List[EventData])[source]
Bases:
NamedTupleCompared events
- class sync_ics2gcal.EventConverter(*args, **kwargs)[source]
Bases:
EventConvert icalendar event to google calendar resource ( https://developers.google.com/calendar/v3/reference/events#resource-representations )
- class sync_ics2gcal.EventData[source]
Bases:
TypedDict- created: str
- description: str
- end: EventDate | EventDateTime
- iCalUID: str
- id: str
- location: str
- sequence: int
- start: EventDate | EventDateTime
- status: str
- summary: str
- transparency: str
- updated: str
- visibility: str
- class sync_ics2gcal.GoogleCalendar(service: Resource, calendar_id: str | None)[source]
Bases:
objectclass to interact with calendar on Google
- calendar_id: str
- create(summary: str, time_zone: str | None = None) Any[source]
create calendar
- Arguments:
summary – new calendar summary
- Keyword Arguments:
timeZone – new calendar timezone as string (optional)
- Returns:
calendar Resource
- delete_events(events: List[EventData]) None[source]
delete events
- Arguments:
events – list of events
- find_exists(events: List[EventData]) EventsSearchResults[source]
find existing events from list, by ‘iCalUID’ field
- Arguments:
events {list} – list of events
- Returns:
- EventsSearchResults – (events_exist, events_not_found)
events_exist - list of tuples: (new_event, exists_event)
- insert_events(events: List[EventData]) None[source]
insert list of events
- Arguments:
events - events list
- list_events_from(start: datetime) List[EventData][source]
list events from calendar, where start date >= start
- logger = <Logger GoogleCalendar (WARNING)>
- patch_events(event_tuples: List[Tuple[EventData, EventData]]) None[source]
patch (update) events
- Arguments:
event_tuples – list of tuples: (new_event, exists_event)
- service: Resource
- class sync_ics2gcal.GoogleCalendarService[source]
Bases:
objectclass for make google calendar service Resource
- Returns:
service Resource
- static default() Resource[source]
make service Resource from default credentials (authorize) ( https://developers.google.com/identity/protocols/application-default-credentials ) ( https://googleapis.dev/python/google-auth/latest/reference/google.auth.html#google.auth.default )
- static from_config(config: Dict[str, str] | None = None) Resource[source]
make service Resource from config dict
Arguments:
config – config with keys:
(optional) service_account: - service account filename if key not in dict then default credentials will be used ( https://developers.google.com/identity/protocols/application-default-credentials )
– None: default credentials will be used