Skip to content

Commit

Permalink
Update to 3.1:
Browse files Browse the repository at this point in the history
Changes in version 3.0
======================

API Change
----------

Since version we unified to icalendar de/serialization API to use only to_ical
(for writing an ical string from the internal representation) and from_ical
(for parsing an ical string into the internal representation).

to_ical is now used instead of the methods ical, string, as_string and instead
of string casting via __str__ and str.

from_ical is now used instead of from_string.

This change is a requirement for future Python 3 compatibility. Please update
your code to reflect to the new API.

Timezone support
----------------

Timezones are now fully supported in icalendar for serialization and
deserialization. We use the pytz library for timezone components of datetime
instances. The timezone identifiers must be valid pytz respectively Olson
database timezone identifiers. This can be a problem for 'GMT' identifiers,
which are not defined in the Olson database.

Instead of the own UTC tzinfo implementation we use pytz UTC tzinfo object now.


About this fork which is not a fork anymore
===========================================

Aim of this fork (not fork anymore, read further) was to bring this package up
to date with latest icalendar `RFC`_ specification as part of
`plone.app.event`_ project which goal is to bring recurrent evens to `Plone`_.

After some thoughts we (Plone developers involved with `plone.app.event`_) send
a suggestion to icalendar-dev@codespeak.net to take over mainaining of
`icalendar`_. Nobody object and since version 2.2 we are back to development.

.. _`icalendar`: http://pypi.python.org/pypi/icalendar
.. _`plone.app.event`: http://github.com/collective/plone.app.event
.. _`Plone`: http://plone.org
.. _`pytz`: http://pypi.python.org/pypi/pytz
.. _`setuptools`: http://pypi.python.org/pypi/setuptools
.. _`RFC`: http://www.ietf.org/rfc/rfc5545.txt
.. _`BSD`: collective/icalendar#2


3.1

    Make sure parameters to certain properties propagate to the
    ical output. [kanarip]
    Re-include doctests. [rnix]
    endure correct datatype at instance creation time in prop.vCalAddress
    and prop.vText. [rnix]
    Apply TZID parameter to datetimes parsed from RECURRENCE-ID
    [dbstovall]
    Localize datetimes for timezones to avoid DST transition errors.
    [dbstovall]
    Allow UTC-OFFSET property value data types in seconds, which
    follows RFC5545 specification. [nikolaeff]
    Remove utctz and normalized_timezone methods to simplify the
    codebase. The methods were too tiny to be useful and just used
    at one place. [thet]
    When using Component.add() to add icalendar properties, force
    a value conversion to UTC for CREATED, DTSTART and LAST-MODIFIED.
    The RFC expects UTC for those properties. [thet]
    Removed last occurrences of old API (from_string). [Rembane]
    Add
    listing. For example when parsing a text/calendar text including
    multiple components (e.g. a VCALENDAR with 5 VEVENTs), the
    previous situation required us to look over all properties in
    VEVENTs even if we just want the properties under the VCALENDAR
    component (VERSION, PRODID, CALSCALE, METHOD). [dmikurube]
    All unit tests fixed. [mikaelfrykholm]

3.0.1b2 (2012-03-01)

    For all TZID parameters in DATE-TIME properties, use timezone
    identifiers (e.g. Europe/Vienna) instead of timezone names
    (e.g. CET), as required by RFC5545. Timezone names are used
    together with timezone identifiers in the Timezone components.
    [thet]
    Timezone parsing, issues and test fixes. [mikaelfrykholm,
    garbas, tgecho]
    Since we use pytz for timezones, also use UTC tzinfo object
    from the pytz library instead of own implementation. [thet]

3.0.1b1 (2012-02-24)

    Update Release information. [thet]

3.0

    Add API for proper Timezone support. Allow creating ical
    DATE-TIME strings with timezone information from Python datetimes
    with pytz based timezone information and vice versa. [thet]
    Unify API to only use to_ical and from_ical and remove string
    casting as a requirement for Python 3 compatibility: New:
    to_ical. Old: ical, string, as_string and string casting via
    __str__ and str. New: from_ical. Old: from_string. [thet]
  • Loading branch information
wiz committed Sep 13, 2012
1 parent 7f08a01 commit 3b773fb
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 10 deletions.
6 changes: 4 additions & 2 deletions time/py-icalendar/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.4 2012/01/20 12:08:47 wiz Exp $
# $NetBSD: Makefile,v 1.5 2012/09/13 20:12:16 wiz Exp $
#

DISTNAME= icalendar-2.2
DISTNAME= icalendar-3.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= time python
MASTER_SITES= http://pypi.python.org/packages/source/i/icalendar/
Expand All @@ -11,6 +11,8 @@ HOMEPAGE= http://codespeak.net/icalendar/
COMMENT= Python parser/generator for iCalendar files, as per RFC2445
LICENSE= gnu-lgpl-v2.1

DEPENDS+= ${PYPKGPREFIX}-pytz-[0-9]*:../../time/py-pytz

PKG_DESTDIR_SUPPORT= user-destdir

.include "../../lang/python/egg.mk"
Expand Down
24 changes: 20 additions & 4 deletions time/py-icalendar/PLIST
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.4 2012/01/20 12:08:47 wiz Exp $
@comment $NetBSD: PLIST,v 1.5 2012/09/13 20:12:16 wiz Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
Expand Down Expand Up @@ -26,21 +26,37 @@ ${PYSITELIB}/icalendar/prop.pyo
${PYSITELIB}/icalendar/tests/__init__.py
${PYSITELIB}/icalendar/tests/__init__.pyc
${PYSITELIB}/icalendar/tests/__init__.pyo
${PYSITELIB}/icalendar/tests/case_meetup.ics
${PYSITELIB}/icalendar/tests/encoding.ics
${PYSITELIB}/icalendar/tests/example.txt
${PYSITELIB}/icalendar/tests/groupscheduled.ics
${PYSITELIB}/icalendar/tests/groupscheduled.txt
${PYSITELIB}/icalendar/tests/issues.rst
${PYSITELIB}/icalendar/tests/multiple.ics
${PYSITELIB}/icalendar/tests/multiple.txt
${PYSITELIB}/icalendar/tests/recurrence.ics
${PYSITELIB}/icalendar/tests/recurrence.txt
${PYSITELIB}/icalendar/tests/small.ics
${PYSITELIB}/icalendar/tests/small.txt
${PYSITELIB}/icalendar/tests/test_cases.py
${PYSITELIB}/icalendar/tests/test_cases.pyc
${PYSITELIB}/icalendar/tests/test_cases.pyo
${PYSITELIB}/icalendar/tests/test_doctests.py
${PYSITELIB}/icalendar/tests/test_doctests.pyc
${PYSITELIB}/icalendar/tests/test_doctests.pyo
${PYSITELIB}/icalendar/tests/test_encoding.py
${PYSITELIB}/icalendar/tests/test_encoding.pyc
${PYSITELIB}/icalendar/tests/test_encoding.pyo
${PYSITELIB}/icalendar/tests/test_icalendar.py
${PYSITELIB}/icalendar/tests/test_icalendar.pyc
${PYSITELIB}/icalendar/tests/test_icalendar.pyo
${PYSITELIB}/icalendar/tests/test_property_params.py
${PYSITELIB}/icalendar/tests/test_property_params.pyc
${PYSITELIB}/icalendar/tests/test_property_params.pyo
${PYSITELIB}/icalendar/tests/test_timezoned.py
${PYSITELIB}/icalendar/tests/test_timezoned.pyc
${PYSITELIB}/icalendar/tests/test_timezoned.pyo
${PYSITELIB}/icalendar/tests/timezoned.ics
${PYSITELIB}/icalendar/tools.py
${PYSITELIB}/icalendar/tools.pyc
${PYSITELIB}/icalendar/tools.pyo
${PYSITELIB}/icalendar/util.py
${PYSITELIB}/icalendar/util.pyc
${PYSITELIB}/icalendar/util.pyo
8 changes: 4 additions & 4 deletions time/py-icalendar/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.4 2012/01/20 12:08:47 wiz Exp $
$NetBSD: distinfo,v 1.5 2012/09/13 20:12:16 wiz Exp $

SHA1 (icalendar-2.2.tar.gz) = f678e03a0bfb4b44b243a4cd69d2f19111b0e841
RMD160 (icalendar-2.2.tar.gz) = 9b0e336858805360100d499fd8ea443a49a8a4b9
Size (icalendar-2.2.tar.gz) = 34739 bytes
SHA1 (icalendar-3.1.tar.gz) = 5fe1df343589a26f227718c185fd80c7e81749b8
RMD160 (icalendar-3.1.tar.gz) = a429b9d1d94f1a4bf36cbba04ea211d2b7b9dbc3
Size (icalendar-3.1.tar.gz) = 52177 bytes

0 comments on commit 3b773fb

Please sign in to comment.