events module#
- class events.AcademicalEvent(name: str, begin: datetime.datetime, end: datetime.datetime, professor: backend.professors.Professor, classrooms: Optional[Iterable[backend.classrooms.Classroom]] = None, id: Optional[str] = None, weight: Union[int, float] = 5, code: Optional[str] = None, prefix: Optional[str] = None, note: Optional[str] = None)[source]#
Bases:
events.CustomEventAn academical event is an object used to represent any event in the academical calendar.
It subclasses CustomEvent.
- Parameters
name (str) – the name of the event
begin (datetime) – the start of the event
end (datetime) – the end of the event
professor (Professor) – the professor(s) in charge of this event
classrooms (Optional[List[Classroom]]) – all the classrooms were this event takes place
id (Optional[str]) – the id of the event
weight (Union[int, float]) – the weight attributed to the event
code (Optional[str]) – code of the course related to this event
prefix (Optional[str]) – the prefix used for to describe the type of event
note – a note to be added to the event description
- KEYWORDS = ()#
- class events.CustomEvent(weight: Union[int, float] = 5, **kwargs: Any)[source]#
Bases:
ics.event.EventSubclass of ics.Event, implementing more methods useful to know if two events are conflicting.
- Parameters
- DEFAULT_COLOR = '#9e742f'#
- get_week() int[source]#
Returns the week of this event in the gregorian calendar, starting at 0 for the first week.
- Returns
the week number relative to gregorian calendar numbering
- Return type
- intersects(other: events.CustomEvent) bool[source]#
Returns whether two events intersect each other.
- Parameters
other (CustomEvent) – the event to compare with
- Returns
true if both events intersect
- Return type
- overlap(other: events.CustomEvent) float[source]#
If both events intersect, returns the product of the weights.
- Parameters
other (CustomEvent) – the event to compare with
- Returns
self.weight * other.weight if intersect, else 0
- Return type
- class events.EventCM(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('cm', 'cours', 'magistral')#
- PREFIX = 'CM: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventEXAM(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('partiel', 'ecrit', 'oral', 'interro', 'test')#
- PREFIX = 'EXAM: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventEXTERN(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('extern',)#
- PREFIX = 'EXT: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- classmethod from_event(event: ics.event.Event, code: str) events.EventEXTERN[source]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventLABO(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = 'labo'#
- PREFIX = 'LABO: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventORAL(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('oral',)#
- PREFIX = 'ORAL: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventOTHER(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('autre', 'info', 'monitorat', 'consult', 'copie')#
- PREFIX = 'OTHER: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.EventTP(**kwargs)[source]#
Bases:
events.AcademicalEvent- KEYWORDS = ('tp', 'td', 'ape', 'app')#
- PREFIX = 'TP: '#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- class events.RecurringCustomEvent(end_recurrence, freq, **kwargs)[source]#
Bases:
events.CustomEventSubclass of CustomEvent, representing a recurring event, according to iCalendar’s rules.
- Parameters
end_recurrence (datetime) – the end of the recurrence
freq (Iterable[str]) – the frequency of the recurrence
kwargs (Any) – parameters passed to
CustomEvent()constructor
- DEFAULT_COLOR = '#8a7451'#
- alarms: List[BaseAlarm]#
- attendees: Set[Attendee]#
- created: Optional[ArrowLike]#
- last_modified: Optional[ArrowLike]#
- organizer: Optional[Organizer]#
- events.extract_datetime(date: str, start: str, end: str) Tuple[datetime.datetime, datetime.datetime][source]#
Parses infos to return the start and end time of an event.
- events.extract_type(course_type: str, course_id: str) Type[events.AcademicalEvent][source]#
Extract the type of Academical event from course type or course id. Sometimes, information from ADE API is wrong…
- Parameters
- Returns
the type of the event
- Return type
Type[AcademicalEvent]