diff --git a/src/octodns_netbox_dns/__init__.py b/src/octodns_netbox_dns/__init__.py index d45907a..55f8ce6 100644 --- a/src/octodns_netbox_dns/__init__.py +++ b/src/octodns_netbox_dns/__init__.py @@ -91,12 +91,12 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): return absolute_value def _escape_semicolon(self, value: str) -> str: - fixed = value.replace(";", "\\;") + fixed = value.replace(";", r"\;") self.log.debug(rf"in='{value}', escaped='{fixed}'") return fixed def _unescape_semicolon(self, value: str) -> str: - fixed = value.replace("\\\\", "\\").replace("\\;", ";") + fixed = value.replace(r"\;", ";") self.log.debug(rf"in='{value}', unescaped='{fixed}'") return fixed @@ -317,9 +317,10 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): """ match change: case octodns.record.ValueMixin(): - changeset = {repr(change.value)[1:-1]} + changeset = {str(change.value)} case octodns.record.ValuesMixin(): - changeset = {repr(v)[1:-1] for v in change.values} + changeset = {str(v) for v in change.values} + case _: raise ValueError diff --git a/tests/test_escaple_semicolon.py b/tests/test_escaple_semicolon.py index 628ba2b..bcddb83 100644 --- a/tests/test_escaple_semicolon.py +++ b/tests/test_escaple_semicolon.py @@ -56,7 +56,7 @@ def test_unescape2(): rcd_value = r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com" value = nbdns._unescape_semicolon(rcd_value) - assert value == r"v=TLSRPTv1; rua=mailto:tlsrpt@example.com" + assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com" def test_unescape3(): @@ -64,7 +64,7 @@ def test_unescape3(): rcd_value = r"t=y\\;o=~\;" value = nbdns._unescape_semicolon(rcd_value) - assert value == r"t=y;o=~;" + assert value == r"t=y\;o=~;" def test_unescape4():