From fb140f27a041be319bdc97165c918ba55c0f2c44 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Tue, 10 Jun 2025 10:27:15 -0700 Subject: [PATCH] Implment Templating processor and prototype Value.template methods --- octodns/record/chunked.py | 5 +++++ octodns/record/target.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/octodns/record/chunked.py b/octodns/record/chunked.py index a07acfd..4af7e85 100644 --- a/octodns/record/chunked.py +++ b/octodns/record/chunked.py @@ -80,3 +80,8 @@ class _ChunkedValue(str): @property def rdata_text(self): return self + + def template(self, params): + if '{' not in self: + return self + return self.__class__(self.format(**params)) diff --git a/octodns/record/target.py b/octodns/record/target.py index 3d6cea7..db1c7c3 100644 --- a/octodns/record/target.py +++ b/octodns/record/target.py @@ -41,6 +41,11 @@ class _TargetValue(str): def rdata_text(self): return self + def template(self, params): + if '{' not in self: + return self + return self.__class__(self.format(**params)) + # # much like _TargetValue, but geared towards multiple values