@@ -99,7 +99,7 @@ def update_service(self, zc: 'Zeroconf', type_: str, name: str) -> None:
9999
100100class Signal :
101101 def __init__ (self ) -> None :
102- self ._handlers = [] # type : List[Callable[..., None]]
102+ self ._handlers : List [Callable [..., None ]] = [ ]
103103
104104 def fire (self , ** kwargs : Any ) -> None :
105105 for h in list (self ._handlers ):
@@ -233,7 +233,7 @@ def __init__(
233233 ) -> None :
234234 """Creates a browser for a specific type"""
235235 assert handlers or listener , 'You need to specify at least one handler'
236- self .types = set (type_ if isinstance (type_ , list ) else [type_ ]) # type: Set[str]
236+ self .types : Set [ str ] = set (type_ if isinstance (type_ , list ) else [type_ ])
237237 for check_type_ in self .types :
238238 # Will generate BadTypeInNameException on a bad name
239239 service_type_name (check_type_ , strict = False )
@@ -245,9 +245,8 @@ def __init__(
245245 current_time = current_time_millis ()
246246 self ._next_time = {check_type_ : current_time for check_type_ in self .types }
247247 self ._delay = {check_type_ : delay for check_type_ in self .types }
248- self ._pending_handlers = OrderedDict () # type: OrderedDict[Tuple[str, str], ServiceStateChange]
249- self ._handlers_to_call = OrderedDict () # type: OrderedDict[Tuple[str, str], ServiceStateChange]
250-
248+ self ._pending_handlers : OrderedDict [Tuple [str , str ], ServiceStateChange ] = OrderedDict ()
249+ self ._handlers_to_call : OrderedDict [Tuple [str , str ], ServiceStateChange ] = OrderedDict ()
251250 self ._service_state_changed = Signal ()
252251
253252 self .done = False
@@ -552,13 +551,13 @@ def __init__(
552551 self .port = port
553552 self .weight = weight
554553 self .priority = priority
555- if server :
556- self .server = server
557- else :
558- self .server = name
554+ self .server = server if server else name
559555 self .server_key = self .server .lower ()
560- self ._properties = {} # type: Dict
561- self ._set_properties (properties )
556+ self ._properties : Dict [Union [str , bytes ], Optional [Union [str , bytes ]]] = {}
557+ if isinstance (properties , bytes ):
558+ self ._set_text (properties )
559+ else :
560+ self ._set_properties (properties )
562561 self .host_ttl = host_ttl
563562 self .other_ttl = other_ttl
564563
@@ -618,33 +617,33 @@ def parsed_addresses(self, version: IPVersion = IPVersion.All) -> List[str]:
618617 for addr in result
619618 ]
620619
621- def _set_properties (self , properties : Union [ bytes , Dict ] ) -> None :
620+ def _set_properties (self , properties : Dict ) -> None :
622621 """Sets properties and text of this info from a dictionary"""
623- if isinstance (properties , dict ):
624- self ._properties = properties
625- list_ = []
626- result = b''
627- for key , value in properties .items ():
628- if isinstance (key , str ):
629- key = key .encode ('utf-8' )
630-
631- record = key
632- if value is not None :
633- if not isinstance (value , bytes ):
634- value = str (value ).encode ('utf-8' )
635- record += b'=' + value
636- list_ .append (record )
637- for item in list_ :
638- result = b'' .join ((result , int2byte (len (item )), item ))
639- self .text = result
640- else :
641- self .text = properties
622+ self ._properties = properties
623+ list_ = []
624+ result = b''
625+ for key , value in properties .items ():
626+ if isinstance (key , str ):
627+ key = key .encode ('utf-8' )
628+
629+ record = key
630+ if value is not None :
631+ if not isinstance (value , bytes ):
632+ value = str (value ).encode ('utf-8' )
633+ record += b'=' + value
634+ list_ .append (record )
635+ for item in list_ :
636+ result = b'' .join ((result , int2byte (len (item )), item ))
637+ self .text = result
642638
643639 def _set_text (self , text : bytes ) -> None :
644640 """Sets properties and text given a text field"""
645641 self .text = text
646- result = {} # type: Dict
647642 end = len (text )
643+ if end == 0 :
644+ self ._properties = {}
645+ return
646+ result : Dict [Union [str , bytes ], Optional [Union [str , bytes ]]] = {}
648647 index = 0
649648 strs = []
650649 while index < end :
0 commit comments