pvl/dns/zone.py
changeset 740 74352351d6f5
parent 647 90a0790adf8a
equal deleted inserted replaced
739:5149c39f3dfc 740:74352351d6f5
     4     Process zonefiles.
     4     Process zonefiles.
     5 """
     5 """
     6 
     6 
     7 import codecs
     7 import codecs
     8 import datetime
     8 import datetime
     9 import ipaddr
     9 import ipaddress
    10 import logging
    10 import logging
    11 import math
    11 import math
    12 import os.path
    12 import os.path
    13 import pvl.dns.labels
    13 import pvl.dns.labels
    14 
    14 
   474         return _cls(name, ttl, cls, type, data, **opts)
   474         return _cls(name, ttl, cls, type, data, **opts)
   475 
   475 
   476     @classmethod
   476     @classmethod
   477     def A (_cls, name, ip4, **opts):
   477     def A (_cls, name, ip4, **opts):
   478         """
   478         """
   479             Build from ipaddr.IPv4Address.
   479             Build from ipaddress.IPv4Address.
   480         """
   480         """
   481 
   481 
   482         return _cls.build(name, 'A', ipaddr.IPv4Address(ip4), **opts)
   482         return _cls.build(name, 'A', ipaddress.IPv4Address(unicode(ip4)), **opts)
   483 
   483 
   484     @classmethod
   484     @classmethod
   485     def AAAA (_cls, name, ip6, **opts):
   485     def AAAA (_cls, name, ip6, **opts):
   486         """
   486         """
   487             Build from ipaddr.IPv6Address.
   487             Build from ipaddress.IPv6Address.
   488         """
   488         """
   489 
   489 
   490         return _cls.build(name, 'AAAA', ipaddr.IPv6Address(ip6), **opts)
   490         return _cls.build(name, 'AAAA', ipaddress.IPv6Address(unicode(ip6)), **opts)
   491 
   491 
   492     @classmethod
   492     @classmethod
   493     def CNAME (_cls, name, alias, **opts):
   493     def CNAME (_cls, name, alias, **opts):
   494         return _cls.build(name, 'CNAME', alias, **opts)
   494         return _cls.build(name, 'CNAME', alias, **opts)
   495 
   495