1
0
mirror of https://github.com/b4tman/sync_ics2gcal synced 2024-11-10 15:26:53 +00:00
Утилита для загрузки/синхронизации в календарь Google событий из файла в формате iCalendar
Go to file
dependabot[bot] 6d4a9ddf30 Bump google-api-python-client from 2.19.0 to 2.23.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.19.0 to 2.23.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.19.0...v2.23.0)

---
updated-dependencies:
- dependency-name: google-api-python-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 10:23:02 +03:00
.github add Python 3.9 support 2021-01-01 13:38:14 +03:00
sync_ics2gcal type aliases 2021-05-19 12:55:54 +03:00
tests type annotations - tests 2021-05-01 13:49:26 +03:00
.git_archival.txt Feature: setup (#15) 2020-02-19 23:26:28 +03:00
.gitattributes Feature: setup (#15) 2020-02-19 23:26:28 +03:00
.gitignore ignore ide files and virtualenv 2021-04-29 15:22:27 +03:00
.travis.yml add Python 3.9 support 2021-01-01 13:38:14 +03:00
how-it-works.png + [how it works] in README 2018-04-21 15:23:48 +03:00
LICENSE Initial commit 2018-04-05 11:16:20 +03:00
MANIFEST.in Feature: setup (#15) 2020-02-19 23:26:28 +03:00
pyproject.toml Feature: setup (#15) 2020-02-19 23:26:28 +03:00
README.md cli group for property commands 2021-05-01 17:58:30 +03:00
requirements.txt Bump google-api-python-client from 2.19.0 to 2.23.0 2021-10-01 10:23:02 +03:00
sample-config.yml Initial commit 2018-04-05 11:16:20 +03:00
setup.cfg Feature: setup (#15) 2020-02-19 23:26:28 +03:00
setup.py add fire to setup requires 2021-05-01 18:26:02 +03:00

sync_ics2gcal

PyPI version Build Status Python package status

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:

python setup.py install

Configuration

Create application in Google API Console

  1. Create a new project: console.developers.google.com/project
  2. Choose the new project from the top right project dropdown (only if another project is selected)
  3. In the project Dashboard, choose "Library"
  4. Find and Enable "Google Calendar API"
  5. In the project Dashboard, choose "Credentials"
  6. In the "Service Accounts" group, click to "Manage service accounts"
  7. Click "Create service account"
  8. Choose service account name and ID
  9. Go back to "Service Accounts" group in "Credentials"
  10. Edit service account and click "Create key", choose JSON and download key file.

Create working directory

For example: /home/user/myfolder.

  1. Save service account key in file service-account.json.
  2. 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
  1. (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
  • (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 example
  • source - 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

How it works