vidhubcontrol.discovery¶
- class vidhubcontrol.discovery.AddedMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.BMDDiscovery(*args, **kwargs)[source]¶
Bases:
vidhubcontrol.discovery.ListenerZeroconf listener for Blackmagic devices
- vidhubs¶
Contains discovered Videohub devices. This
DictPropertycan be used to subscribe to changes.- Type
- smart_views¶
Contains discovered SmartView devices. This
DictPropertycan be used to subscribe to changes.- Type
- smart_scopes¶
Contains discovered SmartScope devices. This
DictPropertycan be used to subscribe to changes.- Type
- class vidhubcontrol.discovery.BrowserMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.Listener(*args, **kwargs)[source]¶
Bases:
pydispatch.dispatch.DispatcherAn async zeroconf service listener
Allows async communication with
zeroconf.Zeroconfthroughasyncio.AbstractEventLoop.run_in_executor()calls.- Parameters
mainloop (
asyncio.BaseEventLoop) – asyncio event loop instanceservice_type (str) – The fully qualified service type name to subscribe to
- services¶
All services currently discovered as instances of
ServiceInfo. Stored usingServiceInfo.idas keys- Type
- message_queue¶
Used to communicate actions and events with instances of
Message- Type
asyncio.queues.Queue
- published_services¶
Stores services that have been published using
publish_service()asServiceInfoinstances.- Type
- async add_message(msg: vidhubcontrol.discovery.Message)[source]¶
Adds a message to the
message_queue- Parameters
msg (
Message) – Message to send
- async publish_service(type_: str, port: int, name: Optional[str] = None, addresses: Optional[Union[str, bytes, ipaddress.IPv4Address]] = None, properties: Optional[Dict] = None, ttl: Optional[int] = 60)[source]¶
Publishes a service on the network
- Parameters
type (str) – Fully qualified service type
port (int) – The service port
name (str, optional) – Fully qualified service name. If not provided, this will be generated from the
type_and the hostname detected byget_local_hostname()addresses (optional) – If provided, an
iterableof IP addresses to publish. Can beipaddress.IPv4Addressor any type that can be parsed byipaddress.ip_address()properties (dict, optional) – Custom properties for the service
ttl (int, optional) – The TTL value to publish. Defaults to
PUBLISH_TTL
- async republish_service(type_: str, port: int, name: Optional[str] = None, addresses: Optional[Union[str, bytes, ipaddress.IPv4Address]] = None, properties: Optional[Dict] = None, ttl: Optional[int] = 60)[source]¶
Update an existing
ServiceInfoand republish it
- async run()[source]¶
Main loop for communicating with
zeroconf.ZeroconfWaits for messages on the
message_queueand processes them. The loop will exit if an object placed on the queue is not an instance ofMessage.
- async unpublish_service(type_: str, name: Optional[str] = None)[source]¶
Removes a service published through
publish_service()
- class vidhubcontrol.discovery.Message(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
Bases:
objectA message to communicate actions to and from
Listener- info¶
The
ServiceInforelated to the message
Note
This class and its subclasses are not meant to be used directly. They are used internally in
Listenermethods.
- class vidhubcontrol.discovery.PublishMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.RegistrationMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.RemovedMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.RepublishMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.ServiceInfo(*args, **kwargs)[source]¶
Bases:
pydispatch.dispatch.DispatcherContainer for Zeroconf service information
Closely related to
zeroconf.ServiceInfo- addresses¶
The service ip address
- property address: Optional[ipaddress.IPv4Address]¶
The first element of
addresses
- classmethod from_zc_info(info: zeroconf._services.info.ServiceInfo) vidhubcontrol.discovery.ServiceInfo[source]¶
Creates an instance from a
zeroconf.ServiceInfoobject- Parameters
info (
zeroconf.ServiceInfo) –- Returns
An instance of
ServiceInfo
- to_zc_info() zeroconf._services.info.ServiceInfo[source]¶
Creates a copy as an instance of
zeroconf.ServiceInfo
- update(other: vidhubcontrol.discovery.ServiceInfo)[source]¶
Updates the
propertiesfrom anotherServiceInfoinstance
- class vidhubcontrol.discovery.UnPublishMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶
- class vidhubcontrol.discovery.UpdateMessage(info: vidhubcontrol.discovery.ServiceInfo)[source]¶