mirror of
https://github.com/b4tman/sync_ics2gcal
synced 2024-12-21 09:33:14 +00:00
Утилита для загрузки/синхронизации в календарь Google событий из файла в формате iCalendar
bc9b4f9553
Bumps the pypi-updates group with 4 updates: [google-auth](https://github.com/googleapis/google-auth-library-python), [google-api-python-client](https://github.com/googleapis/google-api-python-client), [icalendar](https://github.com/collective/icalendar) and [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme). Updates `google-auth` from 2.35.0 to 2.36.0 - [Release notes](https://github.com/googleapis/google-auth-library-python/releases) - [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.35.0...v2.36.0) Updates `google-api-python-client` from 2.151.0 to 2.154.0 - [Release notes](https://github.com/googleapis/google-api-python-client/releases) - [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.151.0...v2.154.0) Updates `icalendar` from 6.0.1 to 6.1.0 - [Release notes](https://github.com/collective/icalendar/releases) - [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst) - [Commits](https://github.com/collective/icalendar/compare/v6.0.1...v6.1.0) Updates `sphinx-rtd-theme` from 3.0.1 to 3.0.2 - [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst) - [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/3.0.1...3.0.2) --- updated-dependencies: - dependency-name: google-auth dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pypi-updates - dependency-name: google-api-python-client dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pypi-updates - dependency-name: icalendar dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pypi-updates - dependency-name: sphinx-rtd-theme dependency-type: direct:development update-type: version-update:semver-patch dependency-group: pypi-updates ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
docs | ||
sync_ics2gcal | ||
tests | ||
.gitignore | ||
.readthedocs.yml | ||
how-it-works.png | ||
LICENSE | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
sample-config.yml |
sync_ics2gcal
Python scripts for sync .ics file with Google calendar
Installation
To install from PyPI with pip, run:
pip install sync-ics2gcal
Or download source code and install using poetry:
# install poetry
pip install poetry
# install project and deps to virtualenv
poetry install
# run
poetry run sync-ics2gcal
Configuration
Create application in Google API Console
- Create a new project: console.developers.google.com/project
- Choose the new project from the top right project dropdown (only if another project is selected)
- In the project Dashboard, choose "Library"
- Find and Enable "Google Calendar API"
- In the project Dashboard, choose "Credentials"
- In the "Service Accounts" group, click to "Manage service accounts"
- Click "Create service account"
- Choose service account name and ID
- Go back to "Service Accounts" group in "Credentials"
- Edit service account and click "Create key", choose JSON and download key file.
Create working directory
For example: /home/user/myfolder
.
- Save service account key in file
service-account.json
. - Download sample config and save to file
config.yml
. For example:
wget https://raw.githubusercontent.com/b4tman/sync_ics2gcal/develop/sample-config.yml -O config.yml
- (Optional) Place source
.ics
file,my-calendar.ics
for example.
Configuration parameters
start_from
- start date:- full format datetime,
2018-04-03T13:23:25.000001Z
for example - or just
now
- full format datetime,
- (Optional)
service_account
- service account filename, remove it from config to use default credentials - (Optional)
logging
- config to setup logging google_id
- target google calendar id,my-calendar@group.calendar.google.com
for examplesource
- source.ics
filename,my-calendar.ics
for example
Usage
Manage calendars
manage-ics2gcal GROUP | COMMAND
GROUPS:
- property - get/set properties (see CalendarList resource), subcommands:
- get - get calendar property
- set - set calendar property
COMMANDS:
- list - list calendars
- create - create calendar
- add_owner - add owner to calendar
- remove - remove calendar
- rename - rename calendar
Use -h for more info.
Sync calendar
just type:
sync-ics2gcal
How it works
Documentation is available at sync-ics2gcal.readthedocs.io.