Add Dynamic Mixin class structure, all noops for now

This commit is contained in:
Ross McFarland
2018-11-28 09:18:24 -08:00
parent 9d45386f4d
commit 698eb91684
+44 -32
View File
@@ -382,38 +382,6 @@ class _GeoMixin(_ValuesMixin):
return super(_GeoMixin, self).__repr__()
class ARecord(_GeoMixin, Record):
_type = 'A'
@classmethod
def _validate_value(self, value):
reasons = []
try:
IPv4Address(unicode(value))
except Exception:
reasons.append('invalid ip address "{}"'.format(value))
return reasons
def _process_values(self, values):
return values
class AaaaRecord(_GeoMixin, Record):
_type = 'AAAA'
@classmethod
def _validate_value(self, value):
reasons = []
try:
IPv6Address(unicode(value))
except Exception:
reasons.append('invalid ip address "{}"'.format(value))
return reasons
def _process_values(self, values):
return values
class _ValueMixin(object):
@classmethod
@@ -453,6 +421,50 @@ class _ValueMixin(object):
self.fqdn, self.value)
class _DynamicBaseMixin(object):
pass
class _DynamicValuesMixin(_DynamicBaseMixin, _GeoMixin):
pass
class _DynamicValueMixin(_DynamicBaseMixin, _ValueMixin):
pass
class ARecord(_DynamicValuesMixin, Record):
_type = 'A'
@classmethod
def _validate_value(self, value):
reasons = []
try:
IPv4Address(unicode(value))
except Exception:
reasons.append('invalid ip address "{}"'.format(value))
return reasons
def _process_values(self, values):
return values
class AaaaRecord(_GeoMixin, Record):
_type = 'AAAA'
@classmethod
def _validate_value(self, value):
reasons = []
try:
IPv6Address(unicode(value))
except Exception:
reasons.append('invalid ip address "{}"'.format(value))
return reasons
def _process_values(self, values):
return values
class AliasRecord(_ValueMixin, Record):
_type = 'ALIAS'