Package rst.calendar¶
Not documented
Messages¶
Message CalendarComponents¶
-
class
rst.calendar.
CalendarComponents
¶ A container message for multiple calendar components.
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
timezones
¶ Type: array of rst.calendar.TimeZone
A set of TimeZones
-
events
¶ Type: array of rst.calendar.Event
A set of Events
-
todos
¶ Type: array of rst.calendar.Todo
A set of Todos
-
message CalendarComponents {
/**
* A set of TimeZones
*/
repeated TimeZone timezones = 1;
/**
* A set of Events
*/
repeated Event events = 2;
/**
* A set of Todos
*/
repeated Todo todos = 3;
}
Message CalendarList¶
-
class
rst.calendar.
CalendarList
¶ A List of available calendars.
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
calendar_id
¶ Type: array of ASCII-STRING
A List of calender id.
-
message CalendarList {
/**
* A List of calender id.
*/
repeated string calendar_id = 1;
}
Message CalendarUpdate¶
-
class
rst.calendar.
CalendarUpdate
¶ Describes changes between two calendar versions.
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
timezones
¶ Type: array of rst.calendar.TimeZone
A set of <Could not resolve reference to TimeZone> messages needed by the <Could not resolve reference to Event> messages and <Could not resolve reference to Todo> messages in this message.
-
changed_events
¶ Type: array of rst.calendar.Event
A set of <Could not resolve reference to Event> messages which changed between the two versions.
-
changed_todos
¶ Type: array of rst.calendar.Todo
A set of <Could not resolve reference to Todo> messages which changed between the two versions.
-
removed_entry_ids
¶ Type: array of ASCII-STRING
A set of ids of entries (<Could not resolve reference to Todo> and <Could not resolve reference to Event> messages) which were removed between the two versions.
-
message CalendarUpdate {
/**
* A set of @ref TimeZone messages needed by the @ref Event
* messages and @ref Todo messages in this message.
*/
repeated TimeZone timezones = 3;
/**
* A set of @ref Event messages which changed between the two
* versions.
*/
repeated Event changed_events = 4;
/**
* A set of @ref Todo messages which changed between the two
* versions.
*/
repeated Todo changed_todos = 5;
/**
* A set of ids of entries (@ref Todo and @ref Event messages)
* which were removed between the two versions.
*/
repeated string removed_entry_ids = 6;
}
Message CalendarQuery¶
-
class
rst.calendar.
CalendarQuery
¶ A request for calendar data.
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
start_time
¶ Type: rst.calendar.DateTime
Ignore calendar components before start time.
-
end_time
¶ Type: rst.calendar.DateTime
Ignore calendar components afrer end time.
-
search_todos
¶ Type: BOOL
Search for <Could not resolve reference to Todo> entries.
-
search_events
¶ Type: BOOL
Search for <Could not resolve reference to Event> entries.
-
calculate_time_periods
¶ Type: BOOL
If this is true, each entry which is between
start_time
andend_time
will be augmented with a list of time periods in which it occurs.
-
message CalendarQuery {
/**
* Ignore calendar components before start time.
*/
optional DateTime start_time = 1;
/**
* Ignore calendar components afrer end time.
*/
optional DateTime end_time = 2;
/**
* Search for @ref Todo entries.
*/
optional bool search_todos = 3 [default = true];
/**
* Search for @ref Event entries.
*/
optional bool search_events = 4 [default = true];
/**
* If this is true, each entry which is between @ref .start_time
* and @ref .end_time will be augmented with a list of time
* periods in which it occurs.
*/
optional bool calculate_time_periods = 5 [default = false];
}
Message CalendarQueryResult¶
-
class
rst.calendar.
CalendarQueryResult
¶ The answer to a <Could not resolve reference to CalendarQuery> .
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
timezone
¶ Type: array of rst.calendar.TimeZone
The list of timezones needed by the <Could not resolve reference to Event> and <Could not resolve reference to Todo> messages contained in this message.
-
event
¶ Type: array of rst.calendar.CalendarQueryResult.EventWithTimes
A list of <Could not resolve reference to Event> messages that match the corresponding <Could not resolve reference to CalendarQuery> and their occurrence times (when requested).
-
todo
¶ Type: array of rst.calendar.Todo
A list of <Could not resolve reference to Todo> messages that match the corresponding <Could not resolve reference to CalendarQuery> .
-
message CalendarQueryResult {
/**
* Describes one specific time period.
*/
message TimePeriod {
/**
* When the time period starts.
*/
required DateTime start = 1;
/**
* When the time period ends.
*/
required DateTime end = 2;
}
/**
* Describes an event and optionally all of its occurrences.
*/
message EventWithTimes {
/**
* The event description.
*/
required Event event = 1;
/**
* Time periods where this event applies to.
*/
repeated TimePeriod time = 2;
}
/**
* The list of timezones needed by the @ref Event and @ref Todo
* messages contained in this message.
*/
repeated TimeZone timezone = 1;
/**
* A list of @ref Event messages that match the corresponding @ref
* CalendarQuery and their occurrence times (when requested).
*/
repeated EventWithTimes event = 2;
/**
* A list of @ref Todo messages that match the corresponding @ref
* CalendarQuery.
*/
repeated Todo todo = 3;
}
Message TimePeriod¶
-
class
rst.calendar.CalendarQueryResult.
TimePeriod
¶ Describes one specific time period.
-
start
¶ Type: rst.calendar.DateTime
When the time period starts.
-
end
¶ Type: rst.calendar.DateTime
When the time period ends.
-
message TimePeriod {
/**
* When the time period starts.
*/
required DateTime start = 1;
/**
* When the time period ends.
*/
required DateTime end = 2;
}
Message EventWithTimes¶
-
class
rst.calendar.CalendarQueryResult.
EventWithTimes
¶ Describes an event and optionally all of its occurrences.
-
event
¶ Type: rst.calendar.Event
The event description.
-
time
¶ Type: array of rst.calendar.CalendarQueryResult.TimePeriod
Time periods where this event applies to.
-
message EventWithTimes {
/**
* The event description.
*/
required Event event = 1;
/**
* Time periods where this event applies to.
*/
repeated TimePeriod time = 2;
}
Message Todo¶
-
class
rst.calendar.
Todo
¶ A description of an calendar todo following the icalendar definitions.
This message represents a VTODO component in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
entry
¶ Type: rst.calendar.Entry
This field holds all properties that Todo has in common with Event.
It corresponds to the following properties: class, created, description, dtstamp, dtstart, geo, last-mod, location, organizer, priority, seq, summary, uid, url, recurid, attach, attendee, categories, comment, contact, exdate, exrule, rstatus, related, resources, rdate and rrule int the VTODO component in RFC 2445.
-
completed_utc
¶ Type: rst.calendar.DateTime
Constraint:
value.type == DateTime.Type.UTC
Specifies the date and time this Todo was completed in utc.
This field corresponds to the completed property of VTODO in RFC 2445.
-
percent
¶ Type: UINT32
Constraint:
0 <= value <= 100
Specifies the completion status of the Todo in percent as a positive integer (0-100).
This field corresponds to the completed property of VTODO in RFC 2445.
-
todo_status
¶ Type: rst.calendar.Todo.TodoStatus
The overall status of the Todo.
This field corresponds to the status property of VTODO in RFC 2445.
-
due
¶ Type: rst.calendar.DateTime
Specifies due which date the Todo needs to be done. Either due or duration can be specified but not both at the same time.
This field corresponds to the due property of VTODO in RFC 2445.
-
duration
¶ Type: INT64
Specifies the duration of the Todo in milliseconds. Either due or duration can be specified but not both at the same time.
This field corresponds to the duration property of VTODO in RFC 2445.
-
message Todo {
/**
* The overall status of a todo.
*/
enum TodoStatus {
/**
* Used for todos that need an action.
*/
NEEDS_ACTION = 1;
/**
* Used for completed todos.
*/
COMPLETED = 2;
/**
* Used for todos that are currently in process of.
*/
IN_PROCESS = 3;
/**
* Used for canceled todos.
*/
CANCELED = 4;
}
/**
* This field holds all properties that Todo has in common with Event.
*
* It corresponds to the following properties: class, created, description,
* dtstamp, dtstart, geo, last-mod, location, organizer, priority, seq,
* summary, uid, url, recurid, attach, attendee, categories, comment,
* contact, exdate, exrule, rstatus, related, resources, rdate and rrule
* int the VTODO component in RFC 2445.
*/
optional Entry entry = 1;
/**
* Specifies the date and time this Todo was completed in utc.
*
* This field corresponds to the completed property of VTODO in RFC 2445.
*/
// @constraint(value.type == DateTime.Type.UTC)
optional DateTime completed_utc = 2;
/**
* Specifies the completion status of the Todo in percent as a positive
* integer (0-100).
*
* This field corresponds to the completed property of VTODO in RFC 2445.
*/
// @constraint(0 <= value <= 100)
optional uint32 percent = 3 [default = 0];
/**
* The overall status of the Todo.
*
* This field corresponds to the status property of VTODO in RFC 2445.
*/
optional TodoStatus todo_status = 4 [default = NEEDS_ACTION];
/**
* Specifies due which date the Todo needs to be done.
* Either due or duration can be specified but not both at the same time.
*
* This field corresponds to the due property of VTODO in RFC 2445.
*/
optional DateTime due = 5;
/**
* Specifies the duration of the Todo in milliseconds.
* Either due or duration can be specified but not both at the same time.
*
* This field corresponds to the duration property of VTODO in RFC 2445.
*/
optional sint64 duration = 6;
}
Message TodoStatus¶
enum TodoStatus {
/**
* Used for todos that need an action.
*/
NEEDS_ACTION = 1;
/**
* Used for completed todos.
*/
COMPLETED = 2;
/**
* Used for todos that are currently in process of.
*/
IN_PROCESS = 3;
/**
* Used for canceled todos.
*/
CANCELED = 4;
}
Message Event¶
-
class
rst.calendar.
Event
¶ A description of a calendar event following the iCalendar definitions.
This message represents a VEVENT component in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
entry
¶ Type: rst.calendar.Entry
This field holds all properties that Event has in common with Todo.
It corresponds to the following properties: class, created, description, dtstamp, dtstart, geo, last-mod, location, organizer, priority, seq, summary, uid, url, recurid, attach, attendee, categories, comment, contact, exdate, exrule, rstatus, related, resources, rdate and rrule int the VTODO component in RFC 2445.
-
event_status
¶ Type: rst.calendar.Event.EventStatus
The overall status of the event.
This field corresponds to the status property of VEVENT in RFC 2445.
-
transparency
¶ Type: rst.calendar.Event.Transparency
Specifies whether this event is transparent to busy-time searches or not.
This field corresponds to the transp property of VEVENT in RFC 2445. corresponds to TRANSP
-
end_date_time
¶ Type: rst.calendar.DateTime
Specifies the date and time when the event ends. Either end_date_time or duration can be specified but not both at the same time.
This field corresponds to the dtend property of VEVENT in RFC 2445.
-
duration
¶ Type: INT64
Specifies the duration of the event in milliseconds. Either end_date_time or duration can be specified but not both at the same time.
This field corresponds to the duration property of VEVENT in RFC 2445.
-
message Event {
/**
* The overall status of an event.
*/
enum EventStatus {
/**
* Used for tentative events.
*/
TENTATIVE = 1;
/**
* Used for confirmed events.
*/
CONFIRMED = 2;
/**
* Used for canceled events.
*/
CANCELED = 3;
}
/**
* The transparency of an event.
*/
enum Transparency {
/**
* Used for events which do not consume time in the calendar.
*/
TRANSPARENT = 1;
/**
* Used for events which actually consume time in the calendar.
*/
OPAQUE = 2;
}
/**
* This field holds all properties that Event has in common with Todo.
*
* It corresponds to the following properties: class, created, description,
* dtstamp, dtstart, geo, last-mod, location, organizer, priority, seq,
* summary, uid, url, recurid, attach, attendee, categories, comment,
* contact, exdate, exrule, rstatus, related, resources, rdate and rrule
* int the VTODO component in RFC 2445.
*/
optional Entry entry = 1;
/**
* The overall status of the event.
*
* This field corresponds to the status property of VEVENT in RFC 2445.
*/
optional EventStatus event_status = 2 [default = CONFIRMED];
/**
* Specifies whether this event is transparent to busy-time searches or not.
*
* This field corresponds to the transp property of VEVENT in RFC 2445.
* corresponds to TRANSP
*/
optional Transparency transparency = 3 [default = OPAQUE];
/**
* Specifies the date and time when the event ends.
* Either end_date_time or duration can be specified but not both at the
* same time.
*
* This field corresponds to the dtend property of VEVENT in RFC 2445.
*/
optional DateTime end_date_time = 4;
/**
* Specifies the duration of the event in milliseconds.
* Either end_date_time or duration can be specified but not both at the
* same time.
*
* This field corresponds to the duration property of VEVENT in RFC 2445.
*/
optional sint64 duration = 5;
}
Message EventStatus¶
enum EventStatus {
/**
* Used for tentative events.
*/
TENTATIVE = 1;
/**
* Used for confirmed events.
*/
CONFIRMED = 2;
/**
* Used for canceled events.
*/
CANCELED = 3;
}
Message Transparency¶
enum Transparency {
/**
* Used for events which do not consume time in the calendar.
*/
TRANSPARENT = 1;
/**
* Used for events which actually consume time in the calendar.
*/
OPAQUE = 2;
}
Message Entry¶
-
class
rst.calendar.
Entry
¶ A description of a calendar entry holding the common properties of VEVENT and VTODO components from RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
visibility
¶ Type: rst.calendar.Entry.Visibility
Specifies the visibility classification of this entry.
This field corresponds to the class property of an entry in RFC 2445.
-
created_utc
¶ Type: rst.calendar.DateTime
Constraint:
value.type == DateTime.Type.UTC
Specifies when the entry was created in utc time.
More precisely: Tells when the entry was first created in the calendar store.
This field corresponds to the created property of an entry in RFC 2445.
-
description
¶ Type: ASCII-STRING
A more complete description of the entry.
This field corresponds to the description property of an entry in RFC 2445.
-
date_time_start
¶ Type: rst.calendar.DateTime
Specifies when the entry starts.
This field corresponds to the dtstart property of an entry in RFC 2445.
-
geo_latitude
¶ Type: FLOAT64
Specifies the global position of the associated activity.
This field corresponds to the latitude part of the geo property of an entry in RFC 2445.
-
geo_longitude
¶ Type: FLOAT64
Specifies the global position of the associated activity.
This field corresponds to the longitude part of the geo property of an entry in RFC 2445.
-
last_modified
¶ Type: rst.calendar.DateTime
Constraint:
value.type == DateTime.Type.UTC
Specifies when the entry was modified the last time in utc time.
More precisely: Tells when the entry was last modified in the calendar store.
This field corresponds to the last-mod property of an entry in RFC 2445.
-
location
¶ Type: ASCII-STRING
Specifies where the entry will take place.
This field corresponds to the location property of an entry in RFC 2445.
-
organizer
¶ Type: rst.calendar.Organizer
Defines the organizer of the entry.
This field corresponds to the organizer property of an entry in RFC 2445.
-
priority
¶ Type: UINT32
Constraint:
0 <= value <= 9
The priority of the entry as an integer between 0 and 9.
0 means not defined, 1 means highest, 9 means lowest priority.
This field corresponds to the priority property of an entry in RFC 2445.
-
date_time_stamp
¶ Type: rst.calendar.DateTime
Specifies when the entry was created.
More precise: When the iCalendar object representation of the calendar service information was created or last modified.
This field corresponds to the dtstamp property of an entry in RFC 2445.
-
sequence_number
¶ Type: UINT32
This is incremented every time the entry is changed significantly.
This field corresponds to the seq property of an entry in RFC 2445.
-
summary
¶ Type: ASCII-STRING
A short summary or the subject of the entry.
This field corresponds to the summary property of an entry in RFC 2445.
-
uid
¶ Type: ASCII-STRING
The globally unique id of the entry.
This field corresponds to the uid property of an entry in RFC 2445.
-
url
¶ Type: ASCII-STRING
The Uniform Resource Locator associated with this entry.
This field corresponds to the url property of an entry in RFC 2445.
-
recurrence_id
¶ Type: rst.calendar.RecurrenceId
Combined with uid and sequence, this can be used to reference a specific entry in a recurrence set.
This field corresponds to the recurid property of an entry in RFC 2445.
-
attach
¶ Type: array of ASCII-STRING
This provides a means to attach a document via URI or binary attachment as string.
This field corresponds to the attach property of an entry in RFC 2445.
-
attendees
¶ Type: array of rst.calendar.Attendee
Specifies attendees to this entry.
This field corresponds to the attendee property of an entry in RFC 2445.
-
categories
¶ Type: array of ASCII-STRING
A list of categories, this entry is associated with.
This field corresponds to the categories property of an entry in RFC 2445.
-
comments
¶ Type: array of ASCII-STRING
Provides a comment to this entry.
This field corresponds to the comment property of an entry in RFC 2445.
-
contacts
¶ Type: array of ASCII-STRING
Contact information or reference to contact information.
This field corresponds to the contact property of an entry in RFC 2445.
-
recurrence
¶ Type: rst.calendar.Recurrence
Specifies a set of dates when the entry is.
This field corresponds to rdate, rrule, exdate and exrule properties of an entry in RFC 2445.
-
request_status
¶ Type: array of rst.calendar.RequestStatus
Holds the status code of a scheduling request.
This field corresponds to the rstatus property of an entry in RFC 2445.
-
related
¶ Type: array of rst.calendar.Relationship
Represents relationships to other calendar components.
This field corresponds to the related property of an entry in RFC 2445.
-
resources
¶ Type: array of ASCII-STRING
Specifies the equipment or resources needed for this entry.
This field corresponds to the resources property of an entry in RFC 2445.
-
message Entry {
/**
* This enum is used to restrict access or visibility of of the entry.
*
* It represents the possible values of a CLASS in RFC 2445
*/
enum Visibility {
/**
* The entry can be seen by everyone.
*/
PUBLIC = 1;
/**
* The entry is private.
*/
PRIVATE = 2;
/**
* The entry is confidential.
*/
CONFIDENTIAL = 3;
}
/**
* Specifies the visibility classification of this entry.
*
* This field corresponds to the class property of an entry in RFC 2445.
*/
optional Visibility visibility = 1 [default = PUBLIC];
/**
* Specifies when the entry was created in utc time.
*
* More precisely: Tells when the entry was first created in the
* calendar store.
*
* This field corresponds to the created property of an entry in RFC 2445.
*/
// @constraint(value.type == DateTime.Type.UTC)
optional DateTime created_utc = 2;
/**
* A more complete description of the entry.
*
* This field corresponds to the description property of an entry in
* RFC 2445.
*/
optional string description = 3;
/**
* Specifies when the entry starts.
*
* This field corresponds to the dtstart property of an entry in RFC 2445.
*/
optional DateTime date_time_start = 4;
/**
* Specifies the global position of the associated activity.
*
* This field corresponds to the latitude part of the geo property of an
* entry in RFC 2445.
*/
optional double geo_latitude = 5 [default = 0.];
/**
* Specifies the global position of the associated activity.
*
* This field corresponds to the longitude part of the geo property of an
* entry in RFC 2445.
*/
optional double geo_longitude = 6 [default = 0.];
/**
* Specifies when the entry was modified the last time in utc time.
*
* More precisely: Tells when the entry was last modified in the
* calendar store.
*
* This field corresponds to the last-mod property of an entry in RFC 2445.
*/
// @constraint(value.type == DateTime.Type.UTC)
optional DateTime last_modified = 7;
/**
* Specifies where the entry will take place.
*
* This field corresponds to the location property of an entry in RFC 2445.
*/
optional string location = 8;
/**
* Defines the organizer of the entry.
*
* This field corresponds to the organizer property of an entry in RFC 2445.
*/
optional Organizer organizer = 9;
/**
* The priority of the entry as an integer between 0 and 9.
*
* 0 means not defined, 1 means highest, 9 means lowest priority.
*
* This field corresponds to the priority property of an entry in RFC 2445.
*/
// @constraint(0 <= value <= 9)
optional uint32 priority = 10 [default = 0];
/**
* Specifies when the entry was created.
*
* More precise: When the iCalendar object representation of the calendar
* service information was created or last modified.
*
* This field corresponds to the dtstamp property of an entry in RFC 2445.
*/
optional DateTime date_time_stamp = 11;
/**
* This is incremented every time the entry is changed significantly.
*
* This field corresponds to the seq property of an entry in RFC 2445.
*/
optional uint32 sequence_number = 12 [default = 0];
/**
* A short summary or the subject of the entry.
*
* This field corresponds to the summary property of an entry in RFC 2445.
*/
optional string summary = 13;
/**
* The globally unique id of the entry.
*
* This field corresponds to the uid property of an entry in RFC 2445.
*/
optional string uid = 14;
/**
* The Uniform Resource Locator associated with this entry.
*
* This field corresponds to the url property of an entry in RFC 2445.
*/
optional string url = 15;
/**
* Combined with uid and sequence, this can be used to reference a specific
* entry in a recurrence set.
*
* This field corresponds to the recurid property of an entry in RFC 2445.
*/
optional RecurrenceId recurrence_id = 16;
/**
* This provides a means to attach a document via URI or binary attachment
* as string.
*
* This field corresponds to the attach property of an entry in RFC 2445.
*/
repeated string attach = 17;
/**
* Specifies attendees to this entry.
*
* This field corresponds to the attendee property of an entry in RFC 2445.
*/
repeated Attendee attendees = 18;
/**
* A list of categories, this entry is associated with.
*
* This field corresponds to the categories property of an entry in RFC 2445.
*/
repeated string categories = 19;
/**
* Provides a comment to this entry.
*
* This field corresponds to the comment property of an entry in RFC 2445.
*/
repeated string comments = 20;
/**
* Contact information or reference to contact information.
*
* This field corresponds to the contact property of an entry in RFC 2445.
*/
repeated string contacts = 21;
/**
* Specifies a set of dates when the entry is.
*
* This field corresponds to rdate, rrule, exdate and exrule properties of
* an entry in RFC 2445.
*/
optional Recurrence recurrence = 22;
/**
* Holds the status code of a scheduling request.
*
* This field corresponds to the rstatus property of an entry in RFC 2445.
*/
repeated RequestStatus request_status = 23;
/**
* Represents relationships to other calendar components.
*
* This field corresponds to the related property of an entry in RFC 2445.
*/
repeated Relationship related = 24;
/**
* Specifies the equipment or resources needed for this entry.
*
* This field corresponds to the resources property of an entry in RFC 2445.
*/
repeated string resources = 25;
}
Message Visibility¶
enum Visibility {
/**
* The entry can be seen by everyone.
*/
PUBLIC = 1;
/**
* The entry is private.
*/
PRIVATE = 2;
/**
* The entry is confidential.
*/
CONFIDENTIAL = 3;
}
Message RequestStatus¶
-
class
rst.calendar.
RequestStatus
¶ A description of a status code used in scheduling requests.
This message represents a REQUEST-STATUS property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
language
¶ Type: ASCII-STRING
Specifies the language used in the status code as defined in http://www.ietf.org/rfc/rfc1766.txt.
This field corresponds to the languageparm parameter of REQUEST-STATUS in RFC 2445.
-
status_code
¶ Type: ASCII-STRING
A hierarchical numeric status code as string. 3-tuple of integers separated by a period character. example: “3.1.2”
The level of the integer corresponds to the level of status code granularity (least granularity to highest from left to right).
The return status interpretation of the leftmost integer is following: 1.xx preliminary success, completion is pending 2.xx completed successfully 3.xx not successful, error in the syntax or semantic of the request 4.xx scheduling error, an error occurred within the calendaring service not directly related to the request itself.
This field corresponds to the statcode parameter of REQUEST-STATUS in RFC 2445.
-
status_description
¶ Type: ASCII-STRING
A status description text.
This field corresponds to the statdesc parameter of REQUEST-STATUS in RFC 2445.
-
exception_text_data
¶ Type: ASCII-STRING
Exception data as text. Can be the offending property name and value or a complete property line.
This field corresponds to the extdata parameter of REQUEST-STATUS in RFC 2445.
-
message RequestStatus {
/**
* Specifies the language used in the status code as defined in
* http://www.ietf.org/rfc/rfc1766.txt.
*
* This field corresponds to the languageparm parameter of REQUEST-STATUS
* in RFC 2445.
*/
optional string language = 1;
/**
* A hierarchical numeric status code as string.
* 3-tuple of integers separated by a period character.
* example: "3.1.2"
*
* The level of the integer corresponds to the level of status code
* granularity (least granularity to highest from left to right).
*
* The return status interpretation of the leftmost integer is following:
* 1.xx preliminary success, completion is pending
* 2.xx completed successfully
* 3.xx not successful, error in the syntax or semantic of the request
* 4.xx scheduling error, an error occurred within the calendaring service
* not directly related to the request itself.
*
* This field corresponds to the statcode parameter of REQUEST-STATUS
* in RFC 2445.
*/
required string status_code = 2;
/**
* A status description text.
*
* This field corresponds to the statdesc parameter of REQUEST-STATUS
* in RFC 2445.
*/
required string status_description = 3;
/**
* Exception data as text. Can be the offending property name and value or
* a complete property line.
*
* This field corresponds to the extdata parameter of REQUEST-STATUS
* in RFC 2445.
*/
required string exception_text_data = 4;
}
Message Organizer¶
-
class
rst.calendar.
Organizer
¶ A description of a organizer of a calendar component.
This message represents a ORGANIZER property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
calendar_address
¶ Type: ASCII-STRING
Specifies the organizers calendar user address as URI. Can for example be a MAILTO.
This field corresponds to cal-address of an ORGANIZER in RFC 2445.
-
common_name
¶ Type: ASCII-STRING
Specifies the common or display name of the organizer.
This field corresponds to cnparam of an ORGANIZER in RFC 2445.
-
directory
¶ Type: ASCII-STRING
Specifies a reference (uri) to the directory entry associated with the calendar user acting as organizer.
This field corresponds to dirparam of an ORGANIZER in RFC 2445.
-
sent_by
¶ Type: ASCII-STRING
Specifies another user that is acting on behalf of the organizer.
This field corresponds to sentbyparam of an ORGANIZER in RFC 2445.
-
language
¶ Type: ASCII-STRING
Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt. If specified the language applies to the common_name field.
This field corresponds to languageparam of an ORGANIZER in RFC 2445.
-
message Organizer {
/**
* Specifies the organizers calendar user address as URI.
* Can for example be a MAILTO.
*
* This field corresponds to cal-address of an ORGANIZER in RFC 2445.
*/
required string calendar_address = 1;
/**
* Specifies the common or display name of the organizer.
*
* This field corresponds to cnparam of an ORGANIZER in RFC 2445.
*/
optional string common_name = 2;
/**
* Specifies a reference (uri) to the directory entry associated with the
* calendar user acting as organizer.
*
* This field corresponds to dirparam of an ORGANIZER in RFC 2445.
*/
optional string directory = 3;
/**
* Specifies another user that is acting on behalf of the organizer.
*
* This field corresponds to sentbyparam of an ORGANIZER in RFC 2445.
*/
optional string sent_by = 4;
/**
* Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt.
* If specified the language applies to the common_name field.
*
* This field corresponds to languageparam of an ORGANIZER in RFC 2445.
*/
optional string language = 5;
}
Message Attendee¶
-
class
rst.calendar.
Attendee
¶ A description of an Attendee of a calendar component.
This message represents an ATTENDEE property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
calendar_adress
¶ Type: ASCII-STRING
Specifies the attendees calendar user address as URI, which can for example be a MAILTO.
This field corresponds to the cal-address of an attendee in RFC 2445
-
calendar_user_type
¶ Type: rst.calendar.Attendee.UserType
Specifies what type of calendar user this attendee is. An attendee can be a person, group, room or resource.
This field corresponds to the cutypeparam of an attendee in RFC 2445
-
member
¶ Type: array of ASCII-STRING
Specifies the groups the attendee belongs to via a list of URIs.
This field corresponds to the memberparam of an attendee in RFC 2445. The original memberparam is a single string holding the uris as a comma separated list of double quoted uris.
-
participation_role
¶ Type: rst.calendar.Attendee.Role
Specifies the participation role of the attendee.
This field corresponds to the roleparam of an attendee in RFC 2445
-
participation_status
¶ Type: rst.calendar.Attendee.ParticipationStatus
Specifies the participation status of the attendee.
This field corresponds to the partstatparam of an attendee in RFC 2445
-
reply_requested
¶ Type: BOOL
Specifies whether the favor of a reply is requested.
This field corresponds to the rsvpparam of an attendee in RFC 2445
-
delegated_to
¶ Type: ASCII-STRING
An URI specifying a user to whom this participation was delegated.
This field corresponds to the deltoparam of an attendee in RFC 2445
-
delegated_from
¶ Type: ASCII-STRING
An URI specifying a user from which this participation was delegated.
This field corresponds to the delfromparam of an attendee in RFC 2445
-
sent_by
¶ Type: ASCII-STRING
Specifies another user that is acting on behalf of the attendee
This field corresponds to the sentbyparam of an attendee in RFC 2445
-
common_name
¶ Type: ASCII-STRING
Specifies the common or display name of the attendee.
This field corresponds to the cnparam of an attendee in RFC 2445
-
directory
¶ Type: ASCII-STRING
Specifies a reference (uri) to the directory entry associated with the calendar user acting as attendee.
This field corresponds to the dirparam of an attendee in RFC 2445
-
language
¶ Type: ASCII-STRING
Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt. If specified the language applies to the common_name field.
This field corresponds to the languageparam of an attendee in RFC 2445
-
message Attendee {
/**
* Used to identify the type of a calendar user specified by an
* attendee definition. An attendee at a calender event does
* not inevitably have to be a person. It also can be a group
* room or different noteworthy physical resource.
*
* This enum represents the possible values of a CUTYPE in RFC 2445
*/
enum UserType {
/**
* The attendee is an individual.
*/
INDIVIDUAL = 1;
/**
* The attendee is a group of individuals.
*/
GROUP = 2;
/**
* The attendee is a physical resource.
*/
RESOURCE = 3;
/**
* The attendee is a room.
*/
ROOM = 4;
}
/**
* Used to specify the participation role of an attendee.
*
* This enum represents the possible values of a ROLE in RFC 2445
*/
enum Role {
/**
* Chair of the calendar entity.
*/
CHAIR = 1;
/**
* Someone whose participation is required.
*/
REQUIRED_PARTICIPANT = 2;
/**
* Someone whose participation is optional.
*/
OPTIONAL_PARTICIPANT = 3;
/**
* Someone whose participation is for information purposes only.
*/
NON_PARTICIPANT = 4;
}
/**
* Used to specify the participation status of an attendee.
*
* This enum represents the possible values of a PARTSTAT in RFC 2445
*/
enum ParticipationStatus {
/**
* The attendee has yet to react.
*/
NEEDS_ACTION = 1;
/**
* The attendee has accepted the participation.
*/
ACCEPTED = 2;
/**
* The attendee has declined the participation.
*/
DECLINED = 3;
}
/**
* Specifies the attendees calendar user address as URI, which can for
* example be a MAILTO.
*
* This field corresponds to the cal-address of an attendee in RFC 2445
*/
required string calendar_adress = 1;
/**
* Specifies what type of calendar user this attendee is.
* An attendee can be a person, group, room or resource.
*
* This field corresponds to the cutypeparam of an attendee in RFC 2445
*/
optional UserType calendar_user_type = 6 [default = INDIVIDUAL];
/**
* Specifies the groups the attendee belongs to via a list of URIs.
*
* This field corresponds to the memberparam of an attendee in RFC 2445.
* The original memberparam is a single string holding the uris as a comma
* separated list of double quoted uris.
*/
repeated string member = 7;
/**
* Specifies the participation role of the attendee.
*
* This field corresponds to the roleparam of an attendee in RFC 2445
*/
optional Role participation_role = 8 [default = REQUIRED_PARTICIPANT];
/**
* Specifies the participation status of the attendee.
*
* This field corresponds to the partstatparam of an attendee in RFC 2445
*/
optional ParticipationStatus participation_status = 9 [default = NEEDS_ACTION];
/**
* Specifies whether the favor of a reply is requested.
*
* This field corresponds to the rsvpparam of an attendee in RFC 2445
*/
optional bool reply_requested = 10 [default = false];
/**
* An URI specifying a user to whom this participation was delegated.
*
* This field corresponds to the deltoparam of an attendee in RFC 2445
*/
optional string delegated_to = 11;
/**
* An URI specifying a user from which this participation was delegated.
*
* This field corresponds to the delfromparam of an attendee in RFC 2445
*/
optional string delegated_from = 12;
/**
* Specifies another user that is acting on behalf of the attendee
*
* This field corresponds to the sentbyparam of an attendee in RFC 2445
*/
optional string sent_by = 4;
/**
* Specifies the common or display name of the attendee.
*
* This field corresponds to the cnparam of an attendee in RFC 2445
*/
optional string common_name = 2;
/**
* Specifies a reference (uri) to the directory entry associated with the
* calendar user acting as attendee.
*
* This field corresponds to the dirparam of an attendee in RFC 2445
*/
optional string directory = 3;
/**
* Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt.
* If specified the language applies to the common_name field.
*
* This field corresponds to the languageparam of an attendee in RFC 2445
*/
optional string language = 5;
}
Message UserType¶
-
class
rst.calendar.Attendee.
UserType
¶ Used to identify the type of a calendar user specified by an attendee definition. An attendee at a calender event does not inevitably have to be a person. It also can be a group room or different noteworthy physical resource.
This enum represents the possible values of a CUTYPE in RFC 2445
-
INDIVIDUAL
¶ -
= 1
The attendee is an individual.
-
GROUP
¶ -
= 2
The attendee is a group of individuals.
-
RESOURCE
¶ -
= 3
The attendee is a physical resource.
-
ROOM
¶ -
= 4
The attendee is a room.
-
enum UserType {
/**
* The attendee is an individual.
*/
INDIVIDUAL = 1;
/**
* The attendee is a group of individuals.
*/
GROUP = 2;
/**
* The attendee is a physical resource.
*/
RESOURCE = 3;
/**
* The attendee is a room.
*/
ROOM = 4;
}
Message Role¶
-
class
rst.calendar.Attendee.
Role
¶ Used to specify the participation role of an attendee.
This enum represents the possible values of a ROLE in RFC 2445
-
CHAIR
¶ -
= 1
Chair of the calendar entity.
-
REQUIRED_PARTICIPANT
¶ -
= 2
Someone whose participation is required.
-
OPTIONAL_PARTICIPANT
¶ -
= 3
Someone whose participation is optional.
-
NON_PARTICIPANT
¶ -
= 4
Someone whose participation is for information purposes only.
-
enum Role {
/**
* Chair of the calendar entity.
*/
CHAIR = 1;
/**
* Someone whose participation is required.
*/
REQUIRED_PARTICIPANT = 2;
/**
* Someone whose participation is optional.
*/
OPTIONAL_PARTICIPANT = 3;
/**
* Someone whose participation is for information purposes only.
*/
NON_PARTICIPANT = 4;
}
Message ParticipationStatus¶
-
class
rst.calendar.Attendee.
ParticipationStatus
¶ Used to specify the participation status of an attendee.
This enum represents the possible values of a PARTSTAT in RFC 2445
-
NEEDS_ACTION
¶ -
= 1
The attendee has yet to react.
-
ACCEPTED
¶ -
= 2
The attendee has accepted the participation.
-
DECLINED
¶ -
= 3
The attendee has declined the participation.
-
enum ParticipationStatus {
/**
* The attendee has yet to react.
*/
NEEDS_ACTION = 1;
/**
* The attendee has accepted the participation.
*/
ACCEPTED = 2;
/**
* The attendee has declined the participation.
*/
DECLINED = 3;
}
Message RecurrenceId¶
-
class
rst.calendar.
RecurrenceId
¶ The recurrence id can be used to reference a single component out of a recurring component set.
While the UID of a component references its whole recurrence set the combination of the UID with a RecurrenceId can be used to point to a specific instance within this set.
This message represents a RECURRENCE-ID property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
type
¶ Type: rst.calendar.RecurrenceId.Type
Specifies whether the id should be interpreted as a date with time or as a date, ignoring time.
This field corresponds to the VALUE part of a ridparam property RFC 2445.
-
range
¶ Type: rst.calendar.RecurrenceId.Range
Specifies whether a single instance or set is referenced.
This field corresponds to the rangeparam part of a ridparam property RFC 2445.
-
rid
¶ Type: rst.calendar.DateTime
Specifies ReferenceId value as a DateTime this should match the date value of an instance in the recurrence set.
This field corresponds to the ridval part of a RECURRENCE-ID property RFC 2445.
-
message RecurrenceId {
/**
* Specifies whether this RecurrenceId uses a date or a date-time.
*/
enum Type {
/**
* Specifies a date and time.
*/
DATE_TIME = 1;
/**
* Specifies a date (whole day).
*/
DATE = 2;
}
/**
* Specifies whether this RecurrenceId references a single instance or
* the same with all prior or future instances.
*
* This enum corresponds to the RANGE parameter in RFC 2445.
*/
enum Range {
/**
* Specifies a single instance.
*/
SINGLE = 1;
/**
* Specifies an instance and all instances following it.
*/
THIS_AND_FUTURE = 2;
/**
* Specifies a instance and all instances prior to it.
*/
THIS_AND_PRIOR = 3;
}
/**
* Specifies whether the id should be interpreted as a date with time
* or as a date, ignoring time.
*
* This field corresponds to the VALUE part of a ridparam property RFC 2445.
*/
optional Type type = 1 [default = DATE_TIME];
/**
* Specifies whether a single instance or set is referenced.
*
* This field corresponds to the rangeparam part of a ridparam
* property RFC 2445.
*/
optional Range range = 2 [default = SINGLE];
/**
* Specifies ReferenceId value as a DateTime this should match the date value
* of an instance in the recurrence set.
*
* This field corresponds to the ridval part of a RECURRENCE-ID
* property RFC 2445.
*/
optional DateTime rid = 3;
}
Message Type¶
enum Type {
/**
* Specifies a date and time.
*/
DATE_TIME = 1;
/**
* Specifies a date (whole day).
*/
DATE = 2;
}
Message Range¶
-
class
rst.calendar.RecurrenceId.
Range
¶ Specifies whether this RecurrenceId references a single instance or the same with all prior or future instances.
This enum corresponds to the RANGE parameter in RFC 2445.
-
SINGLE
¶ -
= 1
Specifies a single instance.
-
THIS_AND_FUTURE
¶ -
= 2
Specifies an instance and all instances following it.
-
THIS_AND_PRIOR
¶ -
= 3
Specifies a instance and all instances prior to it.
-
enum Range {
/**
* Specifies a single instance.
*/
SINGLE = 1;
/**
* Specifies an instance and all instances following it.
*/
THIS_AND_FUTURE = 2;
/**
* Specifies a instance and all instances prior to it.
*/
THIS_AND_PRIOR = 3;
}
Message TimeZone¶
-
class
rst.calendar.
TimeZone
¶ Constraint:
len(.standards) + len(.daylights) > 0
A description of a TimeZone following the icalendar definitions. The TimeZone must at least hold it timezone_id and one standards or daylights Observance.
This message represents a VTIMEZONE component in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
timezone_id
¶ Type: ASCII-STRING
The id of the time zone. This should be unique.
This field corresponds to the tzid parameter of VTIMEZONE in RFC 2445.
-
last_modified_utc
¶ Type: rst.calendar.DateTime
Constraint:
value.type == DateTime.Type.UTC
Specifies when the time zone was modified the last time in utc time.
More precisely: Tells when this time zone data was last modified in the calendar store.
This field corresponds to the last-mod parameter of VTIMEZONE in RFC 2445.
-
timezone_url
¶ Type: ASCII-STRING
Specifies a network location where an up to date version of this time zone can be retrieved.
This field corresponds to the tzurl parameter of VTIMEZONE in RFC 2445.
-
x_location
¶ Type: ASCII-STRING
The location to which this time zone applies. This can define where the TimeZone is applied.
Example: “Europe/Berlin” for the TimeZone that is used in Berlin, in Germany
This is a field corresponding to X-LIC-LOCATION, which is not in RFC 2445.
-
standards
¶ Type: array of rst.calendar.Observance
A collection of standard-observances for this TimeZone. Defines all its ‘winter’ times.
This field corresponds to the standardc parameter of VTIMEZONE in RFC 2445.
-
daylights
¶ Type: array of rst.calendar.Observance
A collection of daylight-observances for this TimeZone. Defines all its ‘summer’ times.
This field corresponds to the daylightc parameter of VTIMEZONE in RFC 2445.
-
message TimeZone {
/**
* The id of the time zone. This should be unique.
*
* This field corresponds to the tzid parameter of VTIMEZONE in RFC 2445.
*/
required string timezone_id = 1;
/**
* Specifies when the time zone was modified the last time in utc time.
*
* More precisely: Tells when this time zone data was last modified
* in the calendar store.
*
* This field corresponds to the last-mod parameter of VTIMEZONE in RFC 2445.
*/
// @constraint(value.type == DateTime.Type.UTC)
optional DateTime last_modified_utc = 2;
/**
* Specifies a network location where an up to date version of this time zone
* can be retrieved.
*
* This field corresponds to the tzurl parameter of VTIMEZONE in RFC 2445.
*/
optional string timezone_url = 3;
/**
* The location to which this time zone applies. This can define where the
* TimeZone is applied.
*
* Example: "Europe/Berlin" for the TimeZone that is used in Berlin,
* in Germany
*
* This is a field corresponding to X-LIC-LOCATION, which is not in RFC 2445.
*/
optional string x_location = 4;
/**
* A collection of standard-observances for this TimeZone. Defines all its
* 'winter' times.
*
* This field corresponds to the standardc parameter of VTIMEZONE in
* RFC 2445.
*/
repeated Observance standards = 5;
/**
* A collection of daylight-observances for this TimeZone. Defines all its
* 'summer' times.
*
* This field corresponds to the daylightc parameter of VTIMEZONE in
* RFC 2445.
*/
repeated Observance daylights = 6;
}
Message Observance¶
-
class
rst.calendar.
Observance
¶ A description of a shift in a time zone following the iCalendar definitions. Observances are used to describe standard-daylight changes for a time zone.
This message represents a tzprop property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
type
¶ Type: rst.calendar.Observance.Type
This field tells of which type this observance is STANDARD (winter) or DAYLIGHT (summer).
-
start_utc
¶ Type: rst.calendar.DateTime
Specifies when the Observance begins (since when it is in use) in utc-time.
This field corresponds to dtstart of a tzprop in RFC 2445.
-
name
¶ Type: ASCII-STRING
Specifies the name of the observance.
This field corresponds to tzname of a tzprop in RFC 2445.
-
recurrence
¶ Type: rst.calendar.Recurrence
Specifies a set of dates when the observance gets active.
This field corresponds to rdate and rrule of a tzprop in RFC 2445.
The exclude_dates and exclude_rules of this recurrence should be ignored.
-
offset_from
¶ Type: INT64
Specifies the time offset in use before the observance is active in milliseconds.
This field corresponds to tzoffsetfrom of a tzprop in RFC 2445.
-
offset_to
¶ Type: INT64
Specifies the time offset in use while observance is active in milliseconds
This field corresponds to tzoffsetto of a tzprop in RFC 2445.
-
message Observance {
/**
* This enum tells whether the observance describes a daylight (summer)
* or standard (winter) time.
*/
enum Type {
/**
* An observance setting the time zone to standard (winter) time.
*/
STANDARD = 1;
/**
* An observance setting the time zone to daylight (summer) time.
*/
DAYLIGHT = 2;
}
/**
* This field tells of which type this observance is STANDARD (winter) or
* DAYLIGHT (summer).
*/
required Type type = 3 [default = STANDARD];
/**
* Specifies when the Observance begins (since when it is in use) in
* utc-time.
*
* This field corresponds to dtstart of a tzprop in RFC 2445.
*/
required DateTime start_utc = 4;
/**
* Specifies the name of the observance.
*
* This field corresponds to tzname of a tzprop in RFC 2445.
*/
optional string name = 6;
/**
* Specifies a set of dates when the observance gets active.
*
* This field corresponds to rdate and rrule of a tzprop in RFC 2445.
*
* The exclude_dates and exclude_rules of this recurrence should be ignored.
*/
optional Recurrence recurrence = 7;
/**
* Specifies the time offset in use before the observance is active in
* milliseconds.
*
* This field corresponds to tzoffsetfrom of a tzprop in RFC 2445.
*/
required sint64 offset_from = 8 [default = 0];
/**
* Specifies the time offset in use while observance is active in
* milliseconds
*
* This field corresponds to tzoffsetto of a tzprop in RFC 2445.
*/
required sint64 offset_to = 9 [default = 0];
}
Message Type¶
enum Type {
/**
* An observance setting the time zone to standard (winter) time.
*/
STANDARD = 1;
/**
* An observance setting the time zone to daylight (summer) time.
*/
DAYLIGHT = 2;
}
Message Recurrence¶
-
class
rst.calendar.
Recurrence
¶ A description of a recurrence following the iCalendar definitions. can be used to generate a set of dates.
The final set of dates is created by combining all dates from recurrence_dates and recurrence_rules and removing all dates generated by exclude_dates and exclude_rules.
This message combines a representation of repeating RDATE, RRULE, EXDATE and EXRULE properties in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
recurrence_dates
¶ Type: array of rst.calendar.DateTime
Specifies a set of specific dates to include.
This field represents a set of RDATE in RFC 2445.
-
recurrence_rules
¶ Type: array of rst.calendar.RecurrenceRule
Specifies a set of rules that generate dates to include.
This field represents a set of RRULE in RFC 2445.
-
exclude_dates
¶ Type: array of rst.calendar.DateTime
Specifies a set of dates to exclude.
This field represents a set of EXDATE in RFC 2445.
-
exclude_rules
¶ Type: array of rst.calendar.RecurrenceRule
Specifies a set of rules that generate dates to exclude.
This field represents a set of EXRULE in RFC 2445.
-
message Recurrence {
/**
* Specifies a set of specific dates to include.
*
* This field represents a set of RDATE in RFC 2445.
*/
repeated DateTime recurrence_dates = 1;
/**
* Specifies a set of rules that generate dates to include.
*
* This field represents a set of RRULE in RFC 2445.
*/
repeated RecurrenceRule recurrence_rules = 2;
/**
* Specifies a set of dates to exclude.
*
* This field represents a set of EXDATE in RFC 2445.
*/
repeated DateTime exclude_dates = 3;
/**
* Specifies a set of rules that generate dates to exclude.
*
* This field represents a set of EXRULE in RFC 2445.
*/
repeated RecurrenceRule exclude_rules = 4;
}
Message RecurrenceRule¶
-
class
rst.calendar.
RecurrenceRule
¶ Specifies a rule or repeating pattern for recurring components.
This message represents a RECUR property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
until_date_utc
¶ Type: rst.calendar.DateTime
Specifies the end date of the recurrence in utc. Either this or count may be specified but not both at the same time.
This field corresponds to the UNTIL part of a recur value in RFC 2445.
-
count
¶ Type: UINT32
Specifies the recurrence count. Either this or until_date_utc may be specified but not both at the same time.
This field corresponds to the COUNT part of a recur value in RFC 2445.
-
frequency
¶ Type: rst.calendar.RecurrenceRule.Frequency
Specifies the frequency of the recurrence.
This field corresponds to the freq part of a recur value in RFC 2445.
-
interval
¶ Type: UINT32
Tells how often the rule repeats.
Example: interval = n and frequency = weekly means every n’th week
This field corresponds to the INTERVAL part of a recur value in RFC 2445.
-
by_second
¶ Type: array of UINT32
Constraint:
0 <= value < 60
A list of occurrence seconds.
This field corresponds to the BYSECOND part of a recur value in RFC 2445.
-
by_minute
¶ Type: array of UINT32
Constraint:
0 <= value < 60
A list of occurrence minutes.
This field corresponds to the BYMINUTE part of a recur value in RFC 2445.
-
by_hour
¶ Type: array of UINT32
Constraint:
0 <= value < 24
A list of occurrence hours.
This field corresponds to the BYHOUR part of a recur value in RFC 2445.
-
by_week_day
¶ Type: array of rst.calendar.RecurrenceRule.Weekday
A list of occurrence weekdays.
This field corresponds to the BYDAY part of a recur value in RFC 2445.
-
by_day_number
¶ Type: array of INT32
A list of occurrence days.
Example: frequency = MONTHLY, by_week_day = MO and by_day_n = -1 means the last Monday of the month.
This field corresponds to the BYDAY part of a recur value in RFC 2445.
-
by_month_day
¶ Type: array of INT32
Constraint:
-31 <= value <= 31
A list of occurrence days of the month. If by_moth_day is negative, it is counted from the end of the month.
This field corresponds to the BYMONTHDAY part of a recur value in RFC 2445.
-
by_year_day
¶ Type: array of INT32
Constraint:
-366 <= value <= 366
A list of occurrence days of the year. If by_year_day is negative, it is counted from the end of the year.
This field corresponds to the BYYEARDAY part of a recur value in RFC 2445.
-
by_week_number
¶ Type: array of INT32
Constraint:
-53 <= value <= 53
A list of occurrence weeks of the year. If by_week_number is negative, it is counted from the end of the year.
This field corresponds to the BYWEEKNO part of a recur value in RFC 2445.
-
by_month
¶ Type: array of UINT32
Constraint:
1 <= value <= 31
A list of occurrence months. If by_month is negative, it is counted from the end of the year.
This field corresponds to the BYMONTH part of a recur value in RFC 2445.
-
by_set_pos
¶ Type: array of INT32
Further filters the set by specifying which exact occurrences to use.
Example: frequency = MONTHLY, by_week_day=FRIDAY and by_set_pos = -1 specifies the last Friday of the month.
This field corresponds to the BYSETPOS part of a recur value in RFC 2445.
-
week_start
¶ Type: rst.calendar.RecurrenceRule.Weekday
Specifies which day is the first day of the week.
This field corresponds to the WKST part of a recur value in RFC 2445.
-
message RecurrenceRule {
/**
* This enum defines a frequency of the recurrence (How often does it recur).
*/
enum Frequency {
/**
* Every second.
*/
SECONDLY = 1;
/**
* Every minute.
*/
MINUTELY = 2;
/**
* Every hour.
*/
HOURLY = 3;
/**
* Every day.
*/
DAILY = 4;
/**
* Every week.
*/
WEEKLY = 5;
/**
* Every month.
*/
MONTHLY = 6;
/**
* Every year.
*/
YEARLY = 7;
}
/**
* This enum defines a day in within the week.
*/
enum Weekday {
/**
* Sunday.
*/
SUNDAY = 1;
/**
* Monday.
*/
MONDAY = 2;
/**
* Tuesday.
*/
TUESDAY = 3;
/**
* Wednesday.
*/
WEDNESDAY = 4;
/**
* Thursday.
*/
THURSDAY = 5;
/**
* Friday.
*/
FRIDAY = 6;
/**
* Saturday.
*/
SATURDAY = 7;
}
/**
* Specifies the end date of the recurrence in utc. Either this or count may
* be specified but not both at the same time.
*
* This field corresponds to the UNTIL part of a recur value in RFC 2445.
*/
optional DateTime until_date_utc = 2;
/**
* Specifies the recurrence count. Either this or until_date_utc may
* be specified but not both at the same time.
*
* This field corresponds to the COUNT part of a recur value in RFC 2445.
*/
optional uint32 count = 3;
/**
* Specifies the frequency of the recurrence.
*
* This field corresponds to the freq part of a recur value in RFC 2445.
*/
required Frequency frequency = 4 [default = YEARLY];
/**
* Tells how often the rule repeats.
*
* Example: interval = n and frequency = weekly means every n'th week
*
* This field corresponds to the INTERVAL part of a recur value in RFC 2445.
*/
optional uint32 interval = 5 [default = 1];
/**
* A list of occurrence seconds.
*
* This field corresponds to the BYSECOND part of a recur value in RFC 2445.
*/
// @constraint(0 <= value < 60)
repeated uint32 by_second = 6;
/**
* A list of occurrence minutes.
*
* This field corresponds to the BYMINUTE part of a recur value in RFC 2445.
*/
// @constraint(0 <= value < 60)
repeated uint32 by_minute = 7;
/**
* A list of occurrence hours.
*
* This field corresponds to the BYHOUR part of a recur value in RFC 2445.
*/
// @constraint(0 <= value < 24)
repeated uint32 by_hour = 8;
/**
* A list of occurrence weekdays.
*
* This field corresponds to the BYDAY part of a recur value in RFC 2445.
*/
repeated Weekday by_week_day = 9;
/**
* A list of occurrence days.
*
* Example: frequency = MONTHLY, by_week_day = MO and by_day_n = -1
* means the last Monday of the month.
*
* This field corresponds to the BYDAY part of a recur value in RFC 2445.
*/
repeated sint32 by_day_number = 10;
/**
* A list of occurrence days of the month. If by_moth_day is negative, it is
* counted from the end of the month.
*
* This field corresponds to the BYMONTHDAY part of a recur value in RFC 2445.
*/
// @constraint(-31 <= value <= 31)
repeated sint32 by_month_day = 11;
/**
* A list of occurrence days of the year. If by_year_day is negative, it is
* counted from the end of the year.
*
* This field corresponds to the BYYEARDAY part of a recur value in RFC 2445.
*/
// @constraint(-366 <= value <= 366)
repeated sint32 by_year_day = 12;
/**
* A list of occurrence weeks of the year. If by_week_number is negative,
* it is counted from the end of the year.
*
* This field corresponds to the BYWEEKNO part of a recur value in RFC 2445.
*/
// @constraint(-53 <= value <= 53)
repeated sint32 by_week_number = 13;
/**
* A list of occurrence months. If by_month is negative, it is counted
* from the end of the year.
*
* This field corresponds to the BYMONTH part of a recur value in RFC 2445.
*/
// @constraint(1 <= value <= 31)
repeated uint32 by_month = 14;
/**
* Further filters the set by specifying which exact occurrences to use.
*
* Example: frequency = MONTHLY, by_week_day=FRIDAY and
* by_set_pos = -1 specifies the last Friday of the month.
*
* This field corresponds to the BYSETPOS part of a recur value in RFC 2445.
*/
repeated sint32 by_set_pos = 15;
/**
* Specifies which day is the first day of the week.
*
* This field corresponds to the WKST part of a recur value in RFC 2445.
*/
optional Weekday week_start = 16 [default = MONDAY];
}
Message Frequency¶
enum Frequency {
/**
* Every second.
*/
SECONDLY = 1;
/**
* Every minute.
*/
MINUTELY = 2;
/**
* Every hour.
*/
HOURLY = 3;
/**
* Every day.
*/
DAILY = 4;
/**
* Every week.
*/
WEEKLY = 5;
/**
* Every month.
*/
MONTHLY = 6;
/**
* Every year.
*/
YEARLY = 7;
}
Message Weekday¶
enum Weekday {
/**
* Sunday.
*/
SUNDAY = 1;
/**
* Monday.
*/
MONDAY = 2;
/**
* Tuesday.
*/
TUESDAY = 3;
/**
* Wednesday.
*/
WEDNESDAY = 4;
/**
* Thursday.
*/
THURSDAY = 5;
/**
* Friday.
*/
FRIDAY = 6;
/**
* Saturday.
*/
SATURDAY = 7;
}
Message DateTime¶
-
class
rst.calendar.
DateTime
¶ A description of date and time of day.
This message represents a DATE-TIME property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
date_time_type
¶ Type: rst.calendar.DateTime.Type
Specifies whether this time is floating, utc or local.
-
timezone_id
¶ Type: ASCII-STRING
Specifies the time zone to which this time is bound.
The value of timezone_id must match the timezone_id of a known or attached TimeZone definition.
This field MUST be specified when DateTimeType is LOCAL. In all other cases it has no meaning.
-
milliseconds_since_epoch
¶ Type: UINT64
The time since epoch (01.01.1970 at 00:00) in milliseconds.
-
message DateTime {
/**
* A DateTime can have one of the three following forms.
*/
enum Type {
/**
* UTC that this time is meant to be in absolute Coordinated Universal
* Time.
*/
UTC = 1;
/**
* FLOATING is used to specify time which is not bound to any time zone.
*
* Example: Dinner may always be at 6pm regardless of the current time
* zone.
*/
FLOATING = 2;
/**
* LOCAL specifies that this time is bound to a specific time zone.
*
* This additionally requires the timezone_id field to be set.
*/
LOCAL = 3;
}
/**
* Specifies whether this time is floating, utc or local.
*/
optional Type date_time_type = 1 [default = UTC];
/**
* Specifies the time zone to which this time is bound.
*
* The value of timezone_id must match the timezone_id of a known or
* attached TimeZone definition.
*
* This field MUST be specified when DateTimeType is LOCAL.
* In all other cases it has no meaning.
*/
optional string timezone_id = 2 [default = "UTC"];
/**
* The time since epoch (01.01.1970 at 00:00) in milliseconds.
*/
optional uint64 milliseconds_since_epoch = 3 [default = 0];
}
Message Type¶
-
class
rst.calendar.DateTime.
Type
¶ A DateTime can have one of the three following forms.
-
UTC
¶ -
= 1
UTC that this time is meant to be in absolute Coordinated Universal Time.
-
FLOATING
¶ -
= 2
FLOATING is used to specify time which is not bound to any time zone.
Example: Dinner may always be at 6pm regardless of the current time zone.
-
LOCAL
¶ -
= 3
LOCAL specifies that this time is bound to a specific time zone.
This additionally requires the timezone_id field to be set.
-
enum Type {
/**
* UTC that this time is meant to be in absolute Coordinated Universal
* Time.
*/
UTC = 1;
/**
* FLOATING is used to specify time which is not bound to any time zone.
*
* Example: Dinner may always be at 6pm regardless of the current time
* zone.
*/
FLOATING = 2;
/**
* LOCAL specifies that this time is bound to a specific time zone.
*
* This additionally requires the timezone_id field to be set.
*/
LOCAL = 3;
}
Message Relationship¶
-
class
rst.calendar.
Relationship
¶ This is used to specify relationships between calendar components.
This message represents a RELATED-TO property in RFC 2445.
For a documentation of the RFC 2445 iCalendar specification visit http://www.ietf.org/rfc/rfc2445.txt
Code author: Viktor Richter <vrichter@techfak.uni-bielefeld.de>
-
relationship_type
¶ Type: rst.calendar.Relationship.Type
The type of relationship to the referenced component.
This field corresponds to the reltypeparam parameter in RFC 2445.
-
uid
¶ Type: ASCII-STRING
The unique identifier of the related component. This should typically be its uid.
This field corresponds to the text part of related property in RFC 2445.
-
message Relationship {
/**
* Specifies the type of the relationship.
*
* This enum represents the possible values of a reltypeparam in RFC 2445.
*/
enum Type {
/**
* The component is a subordinate of the referenced component.
*/
PARENT = 1;
/**
* The component is a superior of the referenced component.
*/
CHILD = 2;
/**
* The component is a peer of the referenced component.
*/
SIBLING = 3;
}
/**
* The type of relationship to the referenced component.
*
*
* This field corresponds to the reltypeparam parameter in RFC 2445.
*/
optional Type relationship_type = 1 [default = PARENT];
/**
* The unique identifier of the related component. This should
* typically be its uid.
*
* This field corresponds to the text part of related property in RFC 2445.
*/
required string uid = 2;
}
Message Type¶
-
class
rst.calendar.Relationship.
Type
¶ Specifies the type of the relationship.
This enum represents the possible values of a reltypeparam in RFC 2445.
-
PARENT
¶ -
= 1
The component is a subordinate of the referenced component.
-
CHILD
¶ -
= 2
The component is a superior of the referenced component.
-
SIBLING
¶ -
= 3
The component is a peer of the referenced component.
-
enum Type {
/**
* The component is a subordinate of the referenced component.
*/
PARENT = 1;
/**
* The component is a superior of the referenced component.
*/
CHILD = 2;
/**
* The component is a peer of the referenced component.
*/
SIBLING = 3;
}