1
0
mirror of https://github.com/b4tman/sync_ics2gcal synced 2025-07-26 06:33:28 +00:00
Files
sync_ics2gcal/sync_ics2gcal/sync_calendar.py
Dmitry Belyaev a96050628a Feature: setup (#15)
* add files for setup

* ! package rename

* move scripts

* + setuptools_scm_git_archive

* + fallback_version

* + setuptools_scm_git_archive to setup.cfg

* bdist_wheel universal

* ignore build/ and .eggs/

* don't use version from setuptools_scm

* Revert "don't use version from setuptools_scm"

This reverts commit 7ad0b4d3d8.

* Revert "bdist_wheel universal"

This reverts commit 5027866b39.

* no-local-version

* +workflow: Upload Python Package
2020-02-19 23:26:28 +03:00

53 lines
1.2 KiB
Python

import yaml
import dateutil.parser
import datetime
import logging
import logging.config
from . import (
CalendarConverter,
GoogleCalendarService,
GoogleCalendar,
CalendarSync
)
def load_config():
with open('config.yml', 'r', encoding='utf-8') as f:
result = yaml.safe_load(f)
return result
def get_start_date(date_str):
result = datetime.datetime(1,1,1)
if 'now' == date_str:
result = datetime.datetime.utcnow()
else:
result = dateutil.parser.parse(date_str)
return result
def main():
config = load_config()
if 'logging' in config:
logging.config.dictConfig(config['logging'])
calendarId = config['calendar']['google_id']
ics_filepath = config['calendar']['source']
srv_acc_file = config['service_account']
start = get_start_date(config['start_from'])
converter = CalendarConverter()
converter.load(ics_filepath)
service = GoogleCalendarService.from_srv_acc_file(srv_acc_file)
gcalendar = GoogleCalendar(service, calendarId)
sync = CalendarSync(gcalendar, converter)
sync.prepare_sync(start)
sync.apply()
if __name__ == '__main__':
main()