Video conference
Todo
Docstrings (module, models, utilities, plugins, exceptions)
Models
- class indico.modules.vc.models.vc_rooms.VCRoom(**kwargs)
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
- created_by_id
ID of the creator
- created_by_user
The user who created the videoconference room
- created_dt
Creation timestamp of the videoconference room
- data
videoconference plugin-specific data
- delete(user: User, event: Event | None = None)
Delete a VC room and all its associations.
- Parameters:
user – the user performing the deletion
event – the event in which the deletion happened
- id
Videoconference room ID
- property locator
- modified_dt
Modification timestamp of the videoconference room
- name
Name of the videoconference room
- property plugin
- query: IndicoBaseQuery
A SQLAlchemy query for a model. Equivalent to
db.session.query(Model)
. Can be customized per-model by overridingquery_class
.Warning
The query interface is considered legacy in SQLAlchemy. Prefer using
session.execute(select())
instead.
- status
Status of the videoconference room
- type
Type of the videoconference room
- class indico.modules.vc.models.vc_rooms.VCRoomEventAssociation(**kwargs)
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
- contribution_id
- data
videoconference plugin-specific data
- delete(user: User, *, check_vc_room: bool = True)
Delete a VC room from an event.
If the room is not used anywhere else, the room itself is also deleted.
- Parameters:
user – the user performing the deletion
check_vc_room – whether to check as well if the VCRoom can be deleted (no more associations left)
- event
The associated Event
- event_id
ID of the event
- classmethod find_for_event(event, include_hidden=False, include_deleted=False, only_linked_to_event=False, **kwargs)
Return a Query that retrieves the videoconference rooms for an event.
- Parameters:
event – an indico Event
only_linked_to_event – only retrieve the vc rooms linked to the whole event
kwargs – extra kwargs to pass to
filter_by()
- classmethod get_linked_for_event(event)
Get a dict mapping link objects to event vc rooms.
- id
Association ID
- link_object
- link_type
Type of the object the vc_room is linked to
- linked_block
The linked session block (if the VC room is attached to a block)
- linked_contrib
The linked contribution (if the VC room is attached to a contribution)
- linked_event
The linked event (if the VC room is attached to the event itself)
- linked_event_id
- property locator
- query: IndicoBaseQuery
A SQLAlchemy query for a model. Equivalent to
db.session.query(Model)
. Can be customized per-model by overridingquery_class
.Warning
The query interface is considered legacy in SQLAlchemy. Prefer using
session.execute(select())
instead.
- classmethod register_link_events()
- session_block_id
- show
If the vc room should be shown on the event page
- vc_room
The associated :class:VCRoom
- vc_room_id
ID of the videoconference room
Utilities
- indico.modules.vc.util.find_event_vc_rooms(from_dt=None, to_dt=None, distinct=False)
Find VC rooms matching certain criteria.
- Parameters:
from_dt – earliest event/contribution to include
to_dt – latest event/contribution to include
distinct – if True, never return the same
(event, vcroom)
more than once (even if it’s linked more than once to that event)
- indico.modules.vc.util.get_linked_to_description(obj)
- indico.modules.vc.util.get_managed_vc_plugins(user)
Return the plugins the user can manage.
- indico.modules.vc.util.get_vc_plugins()
Return a dict containing the available videoconference plugins.
- indico.modules.vc.util.resolve_title(obj)
Plugins
- class indico.modules.vc.plugins.VCPluginMixin
-
- can_manage_vc(user)
Check if a user has management rights on this VC system.
- can_manage_vc_room(user, room)
Check if a user can manage a vc room.
- can_manage_vc_rooms(user, event)
Check if a user can manage vc rooms on an event.
- category = 'Videoconference'
- clone_room(old_event_vc_room: VCRoomEventAssociation, link_object: Event | Contribution | SessionBlock)
Clone the room association, returning a new
VCRoomEventAssociation
.- Parameters:
old_event_vc_room – the original
VCRoomEventAssociation
link_object – the new object the association will be tied to
- Returns:
the new
VCRoomEventAssociation
- create_form(event, existing_vc_room=None, existing_event_vc_room=None)
Create the videoconference room form.
- Parameters:
event – the event the videoconference room is for
existing_vc_room – a vc_room from which to retrieve data for the form
- Returns:
an instance of an
IndicoForm
subclass
- detach_room(vc_room: VCRoom, event_vc_room: VCRoomEventAssociation, event: Event)
- get_extra_delete_msg(vc_room, event_vc_room)
Return a custom message to show in the confirmation dialog when deleting a VC room.
- Parameters:
vc_room – the VC room object
event_vc_room – the association of an event and a VC room
- Returns:
a string (may contain HTML) with the message to display
- get_notification_bcc_list(action, vc_room, event)
- get_notification_cc_list(action, vc_room, event)
- get_vc_room_attach_form_defaults(event)
- get_vc_room_form_defaults(event)
- property icon_url
- init()
- property logo_url
- render_buttons(vc_room, event_vc_room, **kwargs)
Render a list of plugin specific buttons (eg: Join URL, etc) in the management area.
- Parameters:
vc_room – the VC room object
event_vc_room – the association of an event and a VC room
kwargs – arguments passed to the template
- render_event_buttons(vc_room, event_vc_room, **kwargs)
Render a list of plugin specific buttons (eg: Join URL, etc) in the event page.
- Parameters:
vc_room – the VC room object
event_vc_room – the association of an event and a VC room
kwargs – arguments passed to the template
- render_form(**kwargs)
Render the videoconference room form.
- Parameters:
kwargs – arguments passed to the template
- render_info_box(vc_room, event_vc_room, event, **kwargs)
Render the information shown in the expandable box of a VC room row.
- Parameters:
vc_room – the VC room object
event_vc_room – the association of an event and a VC room
event – the event with the current VC room attached to it
kwargs – arguments passed to the template
- render_manage_event_info_box(vc_room, event_vc_room, event, **kwargs)
Render the information shown in the expandable box on a VC room in the management area.
- Parameters:
vc_room – the VC room object
event_vc_room – the association of an event and a VC room
event – the event with the current VC room attached to it
kwargs – arguments passed to the template
- property service_name
- settings_form
alias of
VCPluginSettingsFormBase
- update_data_association(event: Event, vc_room: VCRoom, event_vc_room: VCRoomEventAssociation, data: dict)
Update the VCRoomEventAssociation’s linked object based on the data coming from the UI form.
Exceptions
- exception indico.modules.vc.exceptions.VCRoomError(message, field=None)
- exception indico.modules.vc.exceptions.VCRoomNotFoundError(message)