mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Add source parameter to Record.from_rrs
This commit is contained in:
@@ -113,7 +113,7 @@ class Record(EqualityTupleMixin):
|
||||
return reasons
|
||||
|
||||
@classmethod
|
||||
def from_rrs(cls, zone, rrs, lenient=False):
|
||||
def from_rrs(cls, zone, rrs, lenient=False, source=None):
|
||||
# group records by name & type so that multiple rdatas can be combined
|
||||
# into a single record when needed
|
||||
grouped = defaultdict(list)
|
||||
@@ -128,7 +128,9 @@ class Record(EqualityTupleMixin):
|
||||
name = zone.hostname_from_fqdn(rr.name)
|
||||
_class = cls._CLASSES[rr._type]
|
||||
data = _class.data_from_rrs(rrs)
|
||||
record = Record.new(zone, name, data, lenient=lenient)
|
||||
record = Record.new(
|
||||
zone, name, data, lenient=lenient, source=source
|
||||
)
|
||||
records.append(record)
|
||||
|
||||
return records
|
||||
|
||||
@@ -159,10 +159,13 @@ class TestRecord(TestCase):
|
||||
)
|
||||
|
||||
zone = Zone('unit.tests.', [])
|
||||
records = {(r._type, r.name): r for r in Record.from_rrs(zone, rrs)}
|
||||
records = {
|
||||
(r._type, r.name): r for r in Record.from_rrs(zone, rrs, source=99)
|
||||
}
|
||||
record = records[('A', '')]
|
||||
self.assertEqual(42, record.ttl)
|
||||
self.assertEqual(['1.2.3.4', '2.3.4.5'], record.values)
|
||||
self.assertEqual(99, record.source)
|
||||
record = records[('AAAA', '')]
|
||||
self.assertEqual(43, record.ttl)
|
||||
self.assertEqual(['fc00::1', 'fc00::2'], record.values)
|
||||
|
||||
Reference in New Issue
Block a user