From 43e68794b8244ca968646c1ae2eeccc884d37497 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Sep 2021 17:14:08 -1000 Subject: [PATCH 1/3] Reduce duplicate code to write records --- zeroconf/_protocol.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/zeroconf/_protocol.py b/zeroconf/_protocol.py index 713d5d918..1760ca477 100644 --- a/zeroconf/_protocol.py +++ b/zeroconf/_protocol.py @@ -586,21 +586,13 @@ def _write_answers_from_offset(self, answer_offset: int) -> int: answers_written += 1 return answers_written - def _write_authorities_from_offset(self, authority_offset: int) -> int: - authorities_written = 0 - for authority in self.authorities[authority_offset:]: - if not self._write_record(authority, 0): + def _write_records_from_offset(self, records: List[DNSRecord], offset: int) -> int: + records_written = 0 + for record in records[offset:]: + if not self._write_record(record, 0): break - authorities_written += 1 - return authorities_written - - def _write_additionals_from_offset(self, additional_offset: int) -> int: - additionals_written = 0 - for additional in self.additionals[additional_offset:]: - if not self._write_record(additional, 0): - break - additionals_written += 1 - return additionals_written + records_written += 1 + return records_written def _has_more_to_add( self, questions_offset: int, answer_offset: int, authority_offset: int, additional_offset: int @@ -654,8 +646,8 @@ def packets(self) -> List[bytes]: questions_written = self._write_questions_from_offset(questions_offset) answers_written = self._write_answers_from_offset(answer_offset) - authorities_written = self._write_authorities_from_offset(authority_offset) - additionals_written = self._write_additionals_from_offset(additional_offset) + authorities_written = self._write_records_from_offset(self.authorities, authority_offset) + additionals_written = self._write_records_from_offset(self.additionals, additional_offset) self._insert_short_at_start(additionals_written) self._insert_short_at_start(authorities_written) From c0c2b9db67d149f6507c01a76af3d4fa99ea8e2c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Sep 2021 17:17:54 -1000 Subject: [PATCH 2/3] seq --- zeroconf/_protocol.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zeroconf/_protocol.py b/zeroconf/_protocol.py index 1760ca477..786014015 100644 --- a/zeroconf/_protocol.py +++ b/zeroconf/_protocol.py @@ -22,7 +22,7 @@ import enum import struct -from typing import Any, Dict, List, Optional, Set, TYPE_CHECKING, Tuple, Union, cast +from typing import Any, Dict, List, Optional, Set, Sequence, TYPE_CHECKING, Tuple, Union, cast from ._dns import DNSAddress, DNSHinfo, DNSNsec, DNSPointer, DNSQuestion, DNSRecord, DNSService, DNSText @@ -586,7 +586,7 @@ def _write_answers_from_offset(self, answer_offset: int) -> int: answers_written += 1 return answers_written - def _write_records_from_offset(self, records: List[DNSRecord], offset: int) -> int: + def _write_records_from_offset(self, records: Sequence[DNSRecord], offset: int) -> int: records_written = 0 for record in records[offset:]: if not self._write_record(record, 0): From e289d9f8bae45dff8b87dd76820051237af74be6 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Sep 2021 17:19:08 -1000 Subject: [PATCH 3/3] order --- zeroconf/_protocol.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zeroconf/_protocol.py b/zeroconf/_protocol.py index 786014015..43af3991c 100644 --- a/zeroconf/_protocol.py +++ b/zeroconf/_protocol.py @@ -22,7 +22,7 @@ import enum import struct -from typing import Any, Dict, List, Optional, Set, Sequence, TYPE_CHECKING, Tuple, Union, cast +from typing import Any, Dict, List, Optional, Sequence, Set, TYPE_CHECKING, Tuple, Union, cast from ._dns import DNSAddress, DNSHinfo, DNSNsec, DNSPointer, DNSQuestion, DNSRecord, DNSService, DNSText