ical2orgpy
==========
This script converts an ical calendar (for instance, as exported from google
calendar) into an org-mode document. It is conceived as a replacement of the
awk script located here:
http://orgmode.org/worg/org-tutorials/org-google-sync.html
The main difference is that ical2orgpy correctly manages recurring events
of "yearly", "daily" and "weekly" types. ical2orgpy duplicates all
recurring events falling into a specified time-frame into the exported
org-document.
Installation
============
The command ``ical2orgpy`` is provided by means of python package ``ical2orgpy``.
You can install with ``pip`` (preferably into its own into virtualenv)::
$ pip install ical2orgpy
Installation with `pipx <https://github.com/pypa/pipx>`_ is recommended because
this will manage the virtualenv for you.
Installing from source code
===========================
You can install the package directly from git source like this::
$ cd <to project folder>
$ pip install --user .
To use the script, just call::
$ ~/.local/bin/ical2orgpy
Usage
=====
Simply use the ``ical2orgpy`` command::
$ ical2orgpy --help
or, if installed locally from the git repo::
$ ~/.local/bin/ical2orgpy --help
The script requires two files, the input ics and the output org
document. Usually, ``ical2orgpy`` is called within a script that grabs the
ical file from some source (i.e. Google Calendar), and generates the
appropriate org document. Such an script would have the following shape::
#!/bin/bash
# customize these
WGET=<path to wget>
ICS2ORG=<path to ical2org>
ICSFILE=$(mktemp)
ORGFILE=<path to orgfile>
URL=<url to your private Google calendar>
# no customization needed below
$WGET -O $ICSFILE $URL
$ICS2ORG $ICSFILE $ORGFILE
rm -f $ICSFILE
See further instructions here:
http://orgmode.org/worg/org-tutorials/org-google-sync.html
Development
===========
Clone the repository and cd into it.
Create a virtualenv and install dependencies::
$ pip install .
$ pip install -r test_requirements.txt
Run tests to check everything is working::
$ pytest
You can also use tox to create the virtualenv e.g.::
$ tox -e py39
Then activate the virtualenv::
$ source .tox/py39/bin/activate
(py39)$
And use the package.
Raw data
{
"_id": null,
"home_page": "https://github.com/ical2org-py/ical2org.py",
"name": "ical2orgpy",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "calendar,ical,org,emacs",
"author": "Aitor Soroa",
"author_email": "a.soroa@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d9/9d/35b6c9fe4beb45ae558273871dc59f4d7cf460df58b0b1cf1c314f5bfad6/ical2orgpy-0.5.tar.gz",
"platform": null,
"description": "ical2orgpy\n==========\n\nThis script converts an ical calendar (for instance, as exported from google\ncalendar) into an org-mode document. It is conceived as a replacement of the\nawk script located here:\n\nhttp://orgmode.org/worg/org-tutorials/org-google-sync.html\n\nThe main difference is that ical2orgpy correctly manages recurring events\nof \"yearly\", \"daily\" and \"weekly\" types. ical2orgpy duplicates all\nrecurring events falling into a specified time-frame into the exported\norg-document.\n\nInstallation\n============\n\nThe command ``ical2orgpy`` is provided by means of python package ``ical2orgpy``.\n\nYou can install with ``pip`` (preferably into its own into virtualenv)::\n\n $ pip install ical2orgpy\n\nInstallation with `pipx <https://github.com/pypa/pipx>`_ is recommended because\nthis will manage the virtualenv for you.\n\n\nInstalling from source code\n===========================\n\nYou can install the package directly from git source like this::\n\n $ cd <to project folder>\n $ pip install --user .\n\nTo use the script, just call::\n\n $ ~/.local/bin/ical2orgpy\n\n\n\nUsage\n=====\nSimply use the ``ical2orgpy`` command::\n\n $ ical2orgpy --help\n\nor, if installed locally from the git repo::\n\n $ ~/.local/bin/ical2orgpy --help\n\nThe script requires two files, the input ics and the output org\ndocument. Usually, ``ical2orgpy`` is called within a script that grabs the\nical file from some source (i.e. Google Calendar), and generates the\nappropriate org document. Such an script would have the following shape::\n\n #!/bin/bash\n\n # customize these\n WGET=<path to wget>\n ICS2ORG=<path to ical2org>\n ICSFILE=$(mktemp)\n ORGFILE=<path to orgfile>\n URL=<url to your private Google calendar>\n\n # no customization needed below\n\n $WGET -O $ICSFILE $URL\n $ICS2ORG $ICSFILE $ORGFILE\n rm -f $ICSFILE\n\nSee further instructions here:\n\nhttp://orgmode.org/worg/org-tutorials/org-google-sync.html\n\nDevelopment\n===========\n\nClone the repository and cd into it.\n\nCreate a virtualenv and install dependencies::\n\n $ pip install .\n $ pip install -r test_requirements.txt\n\nRun tests to check everything is working::\n\n $ pytest\n\nYou can also use tox to create the virtualenv e.g.::\n\n $ tox -e py39\n\nThen activate the virtualenv::\n\n $ source .tox/py39/bin/activate\n (py39)$\n\nAnd use the package.\n\n\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Convert ICAL/ICS files into Emacs org-mode format.",
"version": "0.5",
"split_keywords": [
"calendar",
"ical",
"org",
"emacs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c3eea34106301f0a889a31c2ba3ea3b16091828084b8e558de9cb7ca997f9380",
"md5": "b0dd9802eabdde1b19a7a60b5512c3aa",
"sha256": "240b9b82920a73e2448c4e6512025803a8f0c2d52a4c3a1907362e464e02fe5a"
},
"downloads": -1,
"filename": "ical2orgpy-0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b0dd9802eabdde1b19a7a60b5512c3aa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18169,
"upload_time": "2023-02-09T11:05:35",
"upload_time_iso_8601": "2023-02-09T11:05:35.350852Z",
"url": "https://files.pythonhosted.org/packages/c3/ee/a34106301f0a889a31c2ba3ea3b16091828084b8e558de9cb7ca997f9380/ical2orgpy-0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d99d35b6c9fe4beb45ae558273871dc59f4d7cf460df58b0b1cf1c314f5bfad6",
"md5": "9c743d9be06ba0257c83b212d57101bb",
"sha256": "57cd27d0aa07ea475b47402e956d10a40c60aed3356ada820645d82fd1894a28"
},
"downloads": -1,
"filename": "ical2orgpy-0.5.tar.gz",
"has_sig": false,
"md5_digest": "9c743d9be06ba0257c83b212d57101bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26883,
"upload_time": "2023-02-09T11:05:37",
"upload_time_iso_8601": "2023-02-09T11:05:37.564841Z",
"url": "https://files.pythonhosted.org/packages/d9/9d/35b6c9fe4beb45ae558273871dc59f4d7cf460df58b0b1cf1c314f5bfad6/ical2orgpy-0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-09 11:05:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "ical2org-py",
"github_project": "ical2org.py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"test_requirements": [],
"tox": true,
"lcname": "ical2orgpy"
}