Module supporting the iCalendar specification as defined in RFC5545 as well as its predecessor RFC2445 and non-standard deviances from iCal (Apple), Outlook-calendar (Microsoft), ...
Project description
pyICSParser - ICALENDAR Parser
pyICSParser is an icalendar parser (parser for .ics or ical parser files) as defined by RFC5545 (previously RFC2445) into typed structure and returns json structure with explicit dates [[dates, description, uid]] for each instance
Typical installation
pip install pyICSParser
Typical usage for explicit date calculation:
#!/usr/bin/env python
import pyiCalendar
mycal = pyiCalendar.iCalendar()
#ics_fp being a string for the local full path to the icalendar file
mycal.local_load(ics_fp)
#dtstart and dtend are string objects of yyyymmdd formatting (%Y%M%d)
#dates will contain the json with all explicit dates of the events spec'ed by the icalendar file
dates = mycal.get_event_instances(dtstart,dtend)
Versions
-
Pre-alpha
- v0.0.1: first pre-alpha
- v0.0.27: fixed the dtstart to dtend problem for holiday
-
alpha
- 0.4.x: first fully tested handling days - remains to be done is handling of time of events (test vectors are actual icalendar files)
- 0.5.x: added support for EXDATE
- 0.6.x: added support for DURATION and when DTEND no present
- 0.7.x: added support for python 3; 9/10 cottage cheese with pyroma
- 0.7.3: fixing issue #12
Release Flow
- run unit test
cd pyICSParser\test
python test.py
- run pyroma
cd pyICSParser
pyroma .
- build and upload
py -m build
py -m twine upload --repository pypi dist/*
Future developments
- handle of datetime (currently only handles date)
- handle of multiple EXRULE, RRULE as per icalendar spec
Credits
- http://www.tele3.cz/jbar/rest/rest.html: reST to HTML & reST validator
- http://guide.python-distribute.org/contributing.html: registering a package on pypi and password information
- http://guide.python-distribute.org/creation.html: uploading a package to pypi
- http://blog.msbbc.co.uk/2007/06/using-googles-free-svn-repository-with.html: how to use google codes, subclipse and eclipse
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyICSParser-0.7.4.tar.gz
(33.5 kB
view details)
Built Distribution
File details
Details for the file pyICSParser-0.7.4.tar.gz
.
File metadata
- Download URL: pyICSParser-0.7.4.tar.gz
- Upload date:
- Size: 33.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 747467694b2e25ca794c5390148d4ef0042d901f75ed7589d49b7187b632b5b5 |
|
MD5 | b74f2f3cbae38ea634261abd8b5076c9 |
|
BLAKE2b-256 | 207631b5485e1c38f9f7cb678fdd358948f60cec34d9c213edd4d55536a1ee1e |
File details
Details for the file pyICSParser-0.7.4-py3-none-any.whl
.
File metadata
- Download URL: pyICSParser-0.7.4-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ef7dc842a18b7a0dd02d85910e8da128a0935aacdf1ded5e60e68bc13da6b4d |
|
MD5 | 5f4dd2a4c28d9c2826f8612f84409669 |
|
BLAKE2b-256 | c8906c9c4161a07c3bfa5657b340433dc7a150c54f1d2a19918abbb16c1bbda5 |