add how to add property parameters documentation

pull/120/merge
Johannes Raggam 2013-12-26 09:41:53 +01:00
rodzic 82acd96524
commit 94e20287a4
1 zmienionych plików z 34 dodań i 1 usunięć

Wyświetl plik

@ -7,6 +7,7 @@ standard in RFC 2445.
It should be fully compliant, but it is possible to generate and parse invalid It should be fully compliant, but it is possible to generate and parse invalid
files if you really want to. files if you really want to.
File structure File structure
-------------- --------------
@ -33,6 +34,7 @@ And the parts are::
Long content lines are usually "folded" to less than 75 character, but the Long content lines are usually "folded" to less than 75 character, but the
package takes care of that. package takes care of that.
Overview Overview
-------- --------
@ -65,7 +67,8 @@ These are the most important imports::
>>> from icalendar import Calendar, Event >>> from icalendar import Calendar, Event
Components
Components
---------- ----------
Components are like (Case Insensitive) dicts. So if you want to set a property Components are like (Case Insensitive) dicts. So if you want to set a property
@ -130,6 +133,7 @@ the RFC 2445 spec for legal properties for each component, or look in
the icalendar/calendar.py file, where it is at least defined for each the icalendar/calendar.py file, where it is at least defined for each
component. component.
Subcomponents Subcomponents
------------- -------------
@ -159,6 +163,7 @@ Subcomponents are appended to the subcomponents property on the component::
>>> cal.subcomponents >>> cal.subcomponents
[VEVENT({'DTSTART': '20050404T080000', 'UID': '42'})] [VEVENT({'DTSTART': '20050404T080000', 'UID': '42'})]
Value types Value types
----------- -----------
@ -219,6 +224,34 @@ value directly::
>>> cal.decoded('dtstart') >>> cal.decoded('dtstart')
datetime.datetime(2005, 4, 4, 8, 0) datetime.datetime(2005, 4, 4, 8, 0)
Property parameters
-------------------
Property parameters are automatically added, depending on the input value. For
example, for date/time related properties, the value type and timezone
identifier (if applicable) are automatically added here::
>>> event = Event()
>>> event.add('dtstart', datetime(2010, 10, 10, 10, 0, 0,
... tzinfo=pytz.timezone("Europe/Vienna")))
>>> lines = event.to_ical().splitlines()
>>> self.assertTrue(
... b"DTSTART;TZID=Europe/Vienna;VALUE=DATE-TIME:20101010T100000"
... in lines)
You can also add arbitrary property parameters by passing a parameters
dictionary to the add method like so::
>>> event = Event()
>>> event.add('X-TEST-PROP', 'tryout.',
.... parameters={'prop1': 'val1', 'prop2': 'val2'})
>>> lines = event.to_ical().splitlines()
>>> self.assertTrue(b"X-TEST-PROP;PROP1=val1;PROP2=val2:tryout." in lines)
Example Example
------- -------