Major restructuring to get automatic decoding/encoding
authorW. Trevor King <wking@tremily.us>
Tue, 2 Jul 2013 02:03:08 +0000 (22:03 -0400)
committerW. Trevor King <wking@tremily.us>
Tue, 2 Jul 2013 02:08:45 +0000 (22:08 -0400)
commit81ad44f701a889d346fe5e090f3d91871d907034
tree872c5b0f7f57ed94a174d5058562b57fdf865a3a
parentb5bb8b30d371978e877e81820c58cd4bda8bba6c
Major restructuring to get automatic decoding/encoding

Storing raw iCalendar data or unfolded lines is silly.  We should only
store native Python types, and serialize/deserialize as needed.  This
monster commit reworks the whole package to make this possible, adding
sub-packages for a number of data-types, properties, and components
defined in RFC 5545.  The conversion is not complete yet, and there
are a number of placeholder comments waiting to be filled in still.

Some of the test output changed because now that we serialize from
scratch, we lose information about the input that was unimportant
(e.g. GEO precision is now rounded up to 6 decimals, properties are
re-ordered inside their component, etc.).
36 files changed:
README
pycalendar/aggregator.py
pycalendar/component/__init__.py [new file with mode: 0644]
pycalendar/component/alarm.py [new file with mode: 0644]
pycalendar/component/base.py [new file with mode: 0644]
pycalendar/component/calendar.py [new file with mode: 0644]
pycalendar/component/event.py [new file with mode: 0644]
pycalendar/component/freebusy.py [new file with mode: 0644]
pycalendar/component/journal.py [new file with mode: 0644]
pycalendar/component/timezone.py [new file with mode: 0644]
pycalendar/component/todo.py [new file with mode: 0644]
pycalendar/dtype/__init__.py [new file with mode: 0644]
pycalendar/dtype/base.py [new file with mode: 0644]
pycalendar/dtype/date.py [new file with mode: 0644]
pycalendar/dtype/datetime.py [new file with mode: 0644]
pycalendar/dtype/geo.py [new file with mode: 0644]
pycalendar/dtype/numeric.py [new file with mode: 0644]
pycalendar/dtype/text.py [moved from pycalendar/text.py with 91% similarity]
pycalendar/dtype/time.py [new file with mode: 0644]
pycalendar/entry.py [deleted file]
pycalendar/feed.py
pycalendar/property/__init__.py [new file with mode: 0644]
pycalendar/property/alarm.py [new file with mode: 0644]
pycalendar/property/base.py [new file with mode: 0644]
pycalendar/property/calendar.py [new file with mode: 0644]
pycalendar/property/change.py [new file with mode: 0644]
pycalendar/property/component.py [new file with mode: 0644]
pycalendar/property/datetime.py [new file with mode: 0644]
pycalendar/property/descriptive.py [new file with mode: 0644]
pycalendar/property/misc.py [new file with mode: 0644]
pycalendar/property/recurrence.py [new file with mode: 0644]
pycalendar/property/relationship.py [new file with mode: 0644]
pycalendar/property/timezone.py [new file with mode: 0644]
pycalendar/unfold.py [new file with mode: 0644]
setup.py
test/aggregate.py