/usr/lib/python2.7/dist-packages/caldav/elements/cdav.py is in python-caldav 0.4.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | #!/usr/bin/env python
# -*- encoding: utf-8 -*-
from caldav.lib.namespace import ns
from .base import BaseElement, NamedBaseElement, ValuedBaseElement
## Operations
class CalendarQuery(BaseElement):
tag = ns("C", "calendar-query")
class FreeBusyQuery(BaseElement):
tag = ns("C", "free-busy-query")
class Mkcalendar(BaseElement):
tag = ns("D", "mkcalendar")
## Filters
class Filter(BaseElement):
tag = ns("C", "filter")
class CompFilter(NamedBaseElement):
tag = ns("C", "comp-filter")
class PropFilter(NamedBaseElement):
tag = ns("C", "prop-filter")
class ParamFilter(NamedBaseElement):
tag = ns("C", "param-filter")
## Conditions
class TextMatch(ValuedBaseElement):
tag = ns("C", "text-match")
def __init__(self, value, collation="i;octet", negate=False):
super(TextMatch, self).__init__(value=value)
self.attributes['collation'] = collation
self.attributes['negate-condition'] = "no"
if negate:
self.attributes['negate-condition'] = "yes"
class TimeRange(BaseElement):
tag = ns("C", "time-range")
def __init__(self, start=None, end=None):
super(TimeRange, self).__init__()
if start is not None:
self.attributes['start'] = \
start.strftime("%Y%m%dT%H%M%SZ")
if end is not None:
self.attributes['end'] = end.strftime("%Y%m%dT%H%M%SZ")
class NotDefined(BaseElement):
tag = ns("C", "is-not-defined")
## Components / Data
class CalendarData(BaseElement):
tag = ns("C", "calendar-data")
class Expand(BaseElement):
tag = ns("C", "expand")
def __init__(self, start, end=None):
super(Expand, self).__init__()
self.attributes['start'] = start.strftime("%Y%m%dT%H%M%SZ")
if end is not None:
self.attributes['end'] = end.strftime("%Y%m%dT%H%M%SZ")
class Comp(NamedBaseElement):
tag = ns("C", "comp")
class CalendarCollection(BaseElement):
tag = ns("C", "calendar-collection")
## Properties
class CalendarHomeSet(BaseElement):
tag = ns("C", "calendar-home-set")
# calendar resource type, see rfc4791, sec. 4.2
class Calendar(BaseElement):
tag = ns("C", "calendar")
class CalendarDescription(ValuedBaseElement):
tag = ns("C", "calendar-description")
class CalendarTimeZone(ValuedBaseElement):
tag = ns("C", "calendar-timezone")
class SupportedCalendarComponentSet(ValuedBaseElement):
tag = ns("C", "supported-calendar-component-set")
class SupportedCalendarData(ValuedBaseElement):
tag = ns("C", "supported-calendar-data")
class MaxResourceSize(ValuedBaseElement):
tag = ns("C", "max-resource-size")
class MinDateTime(ValuedBaseElement):
tag = ns("C", "min-date-time")
class MaxDateTime(ValuedBaseElement):
tag = ns("C", "max-date-time")
class MaxInstances(ValuedBaseElement):
tag = ns("C", "max-instances")
class MaxAttendeesPerInstance(ValuedBaseElement):
tag = ns("C", "max-attendees-per-instance")
class SupportedCalendarComponentSet(BaseElement):
tag = ns("C", "supported-calendar-component-set")
|