You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -15,33 +16,36 @@ The [Calendar Server](http://calendarserver.org/) team has added VAVAILABILITY
15
16
support to VObject's iCalendar parsing.
16
17
17
18
There are two series of releases:
18
-
* Versions 0.9.x continue to support Python 2.7. This branch is maintained
19
-
only for backward compatibility, and does not get new features.
20
-
* Versions 1.x support only Python 3.8 or later, and is the focus of
21
-
ongoing feature development.
19
+
20
+
* Versions 0.9.x continue to support Python 2.7. This branch is maintained only for backward compatibility, and does not
21
+
get new features.
22
+
* Versions 1.x support only Python 3.8 or later, and is the focus of ongoing feature development.
22
23
23
24
Please report bugs and issues directly on [GitHub](https://github.com/py-vobject/vobject/issues).
24
25
25
26
VObject is licensed under the [Apache 2.0 license](http://www.apache.org/licenses/LICENSE-2.0).
26
27
27
28
Useful scripts included with VObject:
28
29
29
-
*[ics_diff](https://github.com/py-vobject/vobject/blob/master/vobject/ics_diff.py): order is irrelevant in iCalendar files, return a diff of meaningful changes between icalendar files
30
-
*[change_tz](https://github.com/py-vobject/vobject/blob/master/vobject/change_tz.py): Take an iCalendar file with events in the wrong timezone, change all events or just UTC events into one of the timezones **pytz** supports. Requires [pytz](https://pypi.python.org/pypi/pytz/).
30
+
*[ics_diff](https://github.com/py-vobject/vobject/blob/master/vobject/ics_diff.py): order is irrelevant in iCalendar
31
+
files, return a diff of meaningful changes between icalendar files
32
+
*[change_tz](https://github.com/py-vobject/vobject/blob/master/vobject/change_tz.py): Take an iCalendar file with
33
+
events in the wrong timezone, change all events or just UTC events into one of the timezones **pytz** supports.
VObject was originally developed in concert with the Open Source Application
34
-
Foundation's _Chandler_ project by Jeffrey Harris. Maintenance was later
35
-
passed to [Sameen Karim](https://github.com/skarim) and
37
+
38
+
VObject was originally developed in concert with the Open Source Application Foundation's _Chandler_ project by
39
+
Jeffrey Harris. Maintenance was later passed to [Sameen Karim](https://github.com/skarim) and
36
40
[Will Percival](https://github.com/wpercy) at [Eventable](https://github.com/eventable).
37
-
After several years of inactivity, the project was revived under a dedicated
38
-
GitHub organization, with new volunteers.
41
+
After several years of inactivity, the project was revived under a dedicated GitHub organization, with new volunteers.
39
42
40
-
**Please note**: the original repository at [eventable/vobject](https://github.com/eventable/vobject/)
41
-
is _unmaintained_. This project forked the latest code from that repository, after
42
-
attempts to revive the existing project with new maintainers were unsuccessful.
43
+
**Please note**: the original repository at [eventable/vobject](https://github.com/eventable/vobject/) is
44
+
_unmaintained_. This project forked the latest code from that repository, after attempts to revive the existing project
45
+
with new maintainers were unsuccessful.
43
46
44
-
Many thanks to [all the contributors](https://github.com/py-vobject/vobject/blob/master/ACKNOWLEDGEMENTS.txt) for their dedication and support.
47
+
Many thanks to [all the contributors](https://github.com/py-vobject/vobject/blob/master/ACKNOWLEDGEMENTS.txt) for their
48
+
dedication and support.
45
49
46
50
# Installation
47
51
@@ -51,15 +55,14 @@ To install with [pip](https://pypi.python.org/pypi/pip), run:
51
55
pip install vobject
52
56
```
53
57
54
-
55
58
Or download the package and run:
56
59
57
60
```
58
61
python setup.py install
59
62
```
60
63
61
-
VObject requires Python 2.7 or higher, along with the [dateutil](https://pypi.python.org/pypi/python-dateutil/) and [six](https://pypi.python.org/pypi/six) packages.
62
-
64
+
VObject requires Python 2.7 or higher, along with the [dateutil](https://pypi.python.org/pypi/python-dateutil/)
65
+
and [six](https://pypi.python.org/pypi/six) packages.
63
66
64
67
# Running tests
65
68
@@ -69,16 +72,14 @@ To run all tests, use:
69
72
python tests.py
70
73
```
71
74
72
-
73
75
# Usage
74
76
75
77
## iCalendar
76
78
77
79
#### Creating iCalendar objects
78
80
79
-
VObject has a basic datastructure for working with iCalendar-like
80
-
syntaxes. Additionally, it defines specialized behaviors for many of
81
-
the commonly used iCalendar objects.
81
+
VObject has a basic datastructure for working with iCalendar-like syntaxes. Additionally, it defines specialized
82
+
behaviors for many of the commonly used iCalendar objects.
82
83
83
84
To create an object that already has a behavior defined, run:
84
85
@@ -113,12 +114,10 @@ children:
113
114
SUMMARY: This is a note
114
115
```
115
116
116
-
Note that summary is a little different from vevent, it's a
117
-
ContentLine, not a Component. It can't have children, and it has a
118
-
special value attribute.
117
+
Note that summary is a little different from vevent, it's a ContentLine, not a Component. It can't have children, and it
118
+
has a special value attribute.
119
119
120
-
ContentLines can also have parameters. They can be accessed with
121
-
regular attribute names with _param appended:
120
+
ContentLines can also have parameters. They can be accessed with regular attribute names with _param appended:
@@ -132,9 +131,8 @@ regular attribute names with _param appended:
132
131
133
132
There are a few things to note about this example
134
133
135
-
* The underscore in x_random is converted to a dash (dashes are
136
-
legal in iCalendar, underscores legal in Python)
137
-
* X-RANDOM's value is a list.
134
+
* The underscore in x_random is converted to a dash (dashes are legal in iCalendar, underscores legal in Python)
135
+
* X-RANDOM's value is a list.
138
136
139
137
If you want to access the full list of parameters, not just the first,
140
138
use <paramname>_paramlist:
@@ -147,7 +145,8 @@ use <paramname>_paramlist:
147
145
<SUMMARY{'X-RANDOM': ['Random parameter', 'Other param']}This is a note>
148
146
```
149
147
150
-
Similar to parameters, If you want to access more than just the first child of a Component, you can access the full list of children of a given name by appending _list to the attribute name:
148
+
Similar to parameters, If you want to access more than just the first child of a Component, you can access the full list
149
+
of children of a given name by appending _list to the attribute name:
0 commit comments