inspect_jitsi.xmpp.diagnosis module#

The result of probing a Jitsi deployment's reachability/auth requirements.

class inspect_jitsi.xmpp.diagnosis.DiagnosisResult(ws_domain, config_js_reachable=False, discovered_hosts=None, xmpp_domain_tried=None, domain_recognized=None, sasl_mechanisms=None, anonymous_login_ok=None, error=None)[source]#

Bases: object

What's needed to read a Jitsi room's occupancy.

As found by JitsiConference.diagnose().

Example:

DiagnosisResult(
    ws_domain="meet.example.com",
    config_js_reachable=True,
    discovered_hosts={
        "domain": "meet.jitsi",
        "muc": "muc.meet.jitsi",
        "anonymousdomain": None,
    },
    xmpp_domain_tried="meet.jitsi",
    domain_recognized=True,
    sasl_mechanisms=["ANONYMOUS"],
    anonymous_login_ok=True,
    error=None,
)
__annotations__ = {'anonymous_login_ok': 'bool | None', 'config_js_reachable': 'bool', 'discovered_hosts': 'dict[str, str | None] | None', 'domain_recognized': 'bool | None', 'error': 'str | None', 'sasl_mechanisms': 'list[str] | None', 'ws_domain': 'str', 'xmpp_domain_tried': 'str | None'}#
__dataclass_fields__ = {'anonymous_login_ok': Field(name='anonymous_login_ok',type='bool | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'config_js_reachable': Field(name='config_js_reachable',type='bool',default=False,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'discovered_hosts': Field(name='discovered_hosts',type='dict[str, str | None] | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'domain_recognized': Field(name='domain_recognized',type='bool | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'error': Field(name='error',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sasl_mechanisms': Field(name='sasl_mechanisms',type='list[str] | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'ws_domain': Field(name='ws_domain',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'xmpp_domain_tried': Field(name='xmpp_domain_tried',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}#
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)#
__dict__ = mappingproxy({'__module__': 'inspect_jitsi.xmpp.diagnosis', '__firstlineno__': 22, '__annotations__': {'ws_domain': 'str', 'config_js_reachable': 'bool', 'discovered_hosts': 'dict[str, str | None] | None', 'xmpp_domain_tried': 'str | None', 'domain_recognized': 'bool | None', 'sasl_mechanisms': 'list[str] | None', 'anonymous_login_ok': 'bool | None', 'error': 'str | None'}, '__doc__': 'What\'s needed to read a Jitsi room\'s occupancy.\n\nAs found by `JitsiConference.diagnose()`.\n\nExample::\n\n    DiagnosisResult(\n        ws_domain="meet.example.com",\n        config_js_reachable=True,\n        discovered_hosts={\n            "domain": "meet.jitsi",\n            "muc": "muc.meet.jitsi",\n            "anonymousdomain": None,\n        },\n        xmpp_domain_tried="meet.jitsi",\n        domain_recognized=True,\n        sasl_mechanisms=["ANONYMOUS"],\n        anonymous_login_ok=True,\n        error=None,\n    )\n\n', 'config_js_reachable': False, 'discovered_hosts': None, 'xmpp_domain_tried': None, 'domain_recognized': None, 'sasl_mechanisms': None, 'anonymous_login_ok': None, 'error': None, 'to_dict': <function DiagnosisResult.to_dict>, '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'DiagnosisResult' objects>, '__weakref__': <attribute '__weakref__' of 'DiagnosisResult' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'ws_domain': Field(name='ws_domain',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'config_js_reachable': Field(name='config_js_reachable',type='bool',default=False,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'discovered_hosts': Field(name='discovered_hosts',type='dict[str, str | None] | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'xmpp_domain_tried': Field(name='xmpp_domain_tried',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'domain_recognized': Field(name='domain_recognized',type='bool | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sasl_mechanisms': Field(name='sasl_mechanisms',type='list[str] | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'anonymous_login_ok': Field(name='anonymous_login_ok',type='bool | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'error': Field(name='error',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function DiagnosisResult.__init__>, '__repr__': <function DiagnosisResult.__repr__>, '__eq__': <function DiagnosisResult.__eq__>, '__match_args__': ('ws_domain', 'config_js_reachable', 'discovered_hosts', 'xmpp_domain_tried', 'domain_recognized', 'sasl_mechanisms', 'anonymous_login_ok', 'error')})#
__eq__(other)#

Return self==value.

__firstlineno__ = 22#
__hash__ = None#
__init__(ws_domain, config_js_reachable=False, discovered_hosts=None, xmpp_domain_tried=None, domain_recognized=None, sasl_mechanisms=None, anonymous_login_ok=None, error=None)#
__match_args__ = ('ws_domain', 'config_js_reachable', 'discovered_hosts', 'xmpp_domain_tried', 'domain_recognized', 'sasl_mechanisms', 'anonymous_login_ok', 'error')#
__module__ = 'inspect_jitsi.xmpp.diagnosis'#
__replace__(**changes)#
__repr__()#

Return repr(self).

__static_attributes__ = ()#
__weakref__#

list of weak references to the object

anonymous_login_ok: bool | None = None#
config_js_reachable: bool = False#
discovered_hosts: dict[str, str | None] | None = None#
domain_recognized: bool | None = None#
error: str | None = None#
sasl_mechanisms: list[str] | None = None#
to_dict()[source]#

Return a plain, JSON-serializable dict of this result.

Return type:

dict

ws_domain: str#
xmpp_domain_tried: str | None = None#