class EM(object): def __init__(self, addr, port=28808, nf='XGW-U'): self.__addr = addr self.__port = port self.__nf = nf self.__username = "" self.__password = "" self.__token = "" self.__login_time = 0 self.nf_name = '' self.version = '' self.cookie = '' self.object_id = '' self.url = '' self.pkgname = '' self.type = '' self.csarId = '' self.jobId = '' self.task_name = '' self.upgrade_task_id = '' self.rollback_task_id = '' self.retry_cnt = {}
时间: 2024-02-14 10:26:09 浏览: 136
这是一个名为EM的类,用于管理与某个地址和端口的设备的通信。它具有一些私有属性和一些公共属性,包括地址(addr)、端口(port)、nf(nf)、用户名(username)、密码(password)、令牌(token)等。它还具有一些与任务相关的属性,例如任务ID(jobId)和任务名称(task_name)等。
类中的方法还没有完全给出,但可以看到它具有一个初始化方法`__init__`,用于初始化类的属性。其他方法可能在后续代码中给出。
请问还有什么其他问题吗?
相关问题
import socket import time from typing import cast import zeroconf #https://github.com/mnishig/mdns-discover/blob/master/ServiceDiscover.py class ZeroconfListener(zeroconf.ServiceListener): def __init__(self) -> None: super().__init__() self.services = [] def remove_service(self, zc: 'Zeroconf', type_: str, name: str) -> None: # print('{} service: removed'.format(name) ) info = zc.get_service_info(type_, name) for service in self.services: if service['name'] == name: self.services.remove(service) def add_service(self, zc: 'Zeroconf', type_: str, name: str) -> None: info = zc.get_service_info(type_, name) addr_str = [] for item in info.addresses: addr_str.append(socket.inet_ntoa(cast(bytes, item))) # print(name, addr_str) item = { 'name': info.name, 'type': info.type, 'server': info.server, 'addresses': addr_str, 'port': info.port, } self.services.append(item) def update_service(self, zc: 'Zeroconf', type_: str, name: str) -> None: pass def get_services(self) -> list: return self.services class ServiceDiscover: def __init__(self) -> None: # self.zeroconf = zeroconf.Zeroconf() self.browser = None self.types = [] self.services = [] self.get_servicetypes() def get_servicetypes(self) -> None: self.types = zeroconf.ZeroconfServiceTypes.find() def browse(self) -> None: zc = zeroconf.Zeroconf() listener = ZeroconfListener() for type in self.types: counter = 0 browser = zeroconf.ServiceBrowser(zc, type, listener) while counter < 5: time.sleep(0.1) counter += 1 browser.cancel() self.services = listener.services if __name__ == "__main__": sd = ServiceDiscover() sd.browse() for item in sd.services: print("hello") print(item)
这段代码看起来像是使用 Python 编写的服务发现工具,使用了 zeroconf 库,可以通过服务类型和服务名称来发现局域网内的服务。其中 ZeroconfListener 类继承了 zeroconf 库的 ServiceListener 类,并在其中定义了服务的添加和删除方法,ServiceDiscover 类则通过调用 ZeroconfListener 类实现了服务的浏览和获取。最后,该代码会打印出找到的所有服务的信息。
阅读全文