2022-08-16 15:38:52 +03:00
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
ICAL_DATETIME_START = "DTSTART"
|
|
|
|
|
ICAL_DATETIME_END = "DTEND"
|
|
|
|
|
ICAL_DATETIME_STAMP = "DTSTAMP"
|
|
|
|
|
ICAL_SUMMARY = "SUMMARY"
|
|
|
|
|
ICAL_DESCRIPTION = "DESCRIPTION"
|
|
|
|
|
ICAL_ATTENDEE = "ATTENDEE"
|
|
|
|
|
ICAL_UID = "UID"
|
2023-08-07 10:11:46 -03:00
|
|
|
ICAL_SEQUENCE = "SEQUENCE"
|
|
|
|
|
ICAL_RECURRENCE_ID = "RECURRENCE-ID"
|
2022-08-16 15:38:52 +03:00
|
|
|
ICAL_RRULE = "RRULE"
|
|
|
|
|
ICAL_UNTIL = "UNTIL"
|
2023-04-18 14:07:11 -03:00
|
|
|
ICAL_LAST_MODIFIED = "LAST-MODIFIED"
|
2023-05-08 16:01:24 -03:00
|
|
|
ICAL_LOCATION = "LOCATION"
|
2023-08-24 12:36:42 -03:00
|
|
|
ICAL_PRIORITY = "PRIORITY"
|
2023-04-18 14:07:11 -03:00
|
|
|
ICAL_STATUS = "STATUS"
|
|
|
|
|
ICAL_STATUS_CANCELLED = "CANCELLED"
|
|
|
|
|
ICAL_COMPONENT_VEVENT = "VEVENT"
|
2022-09-21 13:19:59 +03:00
|
|
|
RE_PRIORITY = re.compile(r"^\[L(\d+)\]")
|
2023-09-18 14:49:21 -03:00
|
|
|
RE_EVENT_UID_EXPORT = re.compile(r"([\w\d]+)-(\d+)-([\w\d]+)")
|
2022-08-16 15:38:52 +03:00
|
|
|
RE_EVENT_UID_V1 = re.compile(r"amixr-([\w\d-]+)-U(\d+)-E(\d+)-S(\d+)")
|
|
|
|
|
RE_EVENT_UID_V2 = re.compile(r"oncall-([\w\d-]+)-PK([\w\d]+)-U(\d+)-E(\d+)-S(\d+)")
|
2023-04-18 14:07:11 -03:00
|
|
|
|
2023-05-08 16:01:24 -03:00
|
|
|
CALENDAR_TYPE_FINAL = "final"
|
|
|
|
|
|
2023-04-18 14:07:11 -03:00
|
|
|
EXPORT_WINDOW_DAYS_AFTER = 180
|
|
|
|
|
EXPORT_WINDOW_DAYS_BEFORE = 15
|
2024-01-17 13:30:11 -03:00
|
|
|
|
|
|
|
|
SCHEDULE_ONCALL_CACHE_KEY_PREFIX = "schedule_oncall_users_"
|
|
|
|
|
SCHEDULE_ONCALL_CACHE_TTL = 15 * 60 # 15 minutes in seconds
|
2025-01-16 09:19:16 -03:00
|
|
|
SCHEDULE_CHECK_NEXT_DAYS = 30
|
2024-04-11 16:46:51 +02:00
|
|
|
|
|
|
|
|
PREFETCHED_SHIFT_SWAPS = "prefetched_shift_swaps"
|