faori's picture
Upload folder using huggingface_hub
550665c verified
raw
history blame
3.67 kB
.. _conference:
Conference
----------
To add conference (such as Hangouts or Google Meet) to an event you can use :py:class:`~gcsa.conference.ConferenceSolution`
(for existing conferences) or :py:class:`~gcsa.conference.ConferenceSolutionCreateRequest` (to create new conference)
and pass it as a ``conference_solution`` parameter:
Existing conference
~~~~~~~~~~~~~~~~~~~
To add existing conference you need to specify its ``solution_type`` (see :py:class:`~gcsa.conference.SolutionType` for
available values) and at least one :py:class:`~gcsa.conference.EntryPoint` in ``entry_points`` parameter. You can pass
single :py:class:`~gcsa.conference.EntryPoint`:
.. code-block:: python
from gcsa.conference import ConferenceSolution, EntryPoint, SolutionType
event = Event(
'Meeting',
start=(22 / Nov / 2020)[15:00],
conference_solution=ConferenceSolution(
entry_points=EntryPoint(
EntryPoint.VIDEO,
uri='https://meet.google.com/aaa-bbbb-ccc'
),
solution_type=SolutionType.HANGOUTS_MEET,
)
)
or multiple entry points in a list:
.. code-block:: python
event = Event(
'Event with conference',
start=(22 / Nov / 2020)[15:00],
conference_solution=ConferenceSolution(
entry_points=[
EntryPoint(
EntryPoint.VIDEO,
uri='https://meet.google.com/aaa-bbbb-ccc'
),
EntryPoint(
EntryPoint.PHONE,
uri='tel:+12345678900'
)
],
solution_type=SolutionType.HANGOUTS_MEET,
)
)
See more parameters for :py:class:`~gcsa.conference.ConferenceSolution` and :py:class:`~gcsa.conference.EntryPoint`.
New conference
~~~~~~~~~~~~~~
To generate new conference you need to specify its ``solution_type`` (see :py:class:`~gcsa.conference.SolutionType` for
available values).
.. code-block:: python
from gcsa.conference import ConferenceSolutionCreateRequest, SolutionType
event = Event(
'Meeting',
start=(22 / Nov / 2020)[15:00],
conference_solution=ConferenceSolutionCreateRequest(
solution_type=SolutionType.HANGOUTS_MEET,
)
)
See more parameters for :py:class:`~gcsa.conference.ConferenceSolutionCreateRequest`.
.. note:: Create requests are asynchronous. Check ``status`` field of event's ``conference_solution`` to find it's
status. If the status is ``"success"``, ``conference_solution`` will contain a
:py:class:`~gcsa.conference.ConferenceSolution` object and you'll be able to access its fields (like
``entry_points``). Otherwise (if ``status`` is ``"pending"`` or ``"failure"``), ``conference_solution`` will
contain a :py:class:`~gcsa.conference.ConferenceSolutionCreateRequest` object.
.. code-block:: python
event = calendar.add_event(
Event(
'Meeting',
start=(22 / Nov / 2020)[15:00],
conference_solution=ConferenceSolutionCreateRequest(
solution_type=SolutionType.HANGOUTS_MEET,
)
)
)
if event.conference_solution.status == 'success':
print(event.conference_solution.solution_id)
print(event.conference_solution.entry_points)
elif event.conference_solution.status == 'pending':
print('Conference request has not been processed yet.')
elif event.conference_solution.status == 'failure':
print('Conference request has failed.')