def get_record_line(record):
    parts = []

    if record.name:
        name = "%(name)s.%(domain)s" % {"name": record.name, "domain": record.zone.domain}
    else:
        name = record.zone.domain

    name += "."

    ttl = record.extra["ttl"] if "ttl" in record.extra else record.zone.ttl
    ttl = str(ttl)
    record_type = RecordType.__repr__(record.type)
    data = record.data

    if record.type in [RecordType.CNAME, RecordType.DNAME, RecordType.MX, RecordType.PTR, RecordType.SRV]:
        # Make sure trailing dot is present
        if data[len(data) - 1] != ".":
            data += "."

    if record.type in [RecordType.TXT, RecordType.SPF] and " " in data:
        # Escape the quotes
        data = data.replace('"', '\\"')

        # Quote the string
        data = '"%s"' % (data)

    if record.type in [RecordType.MX, RecordType.SRV]:
        priority = str(record.extra["priority"])
        parts = [name, ttl, "IN", record_type, priority, data]
    else:
        parts = [name, ttl, "IN", record_type, data]

    line = "\t".join(parts)
    return line
def get_record_line(record):
    parts = []

    if record.name:
        name = '%(name)s.%(domain)s' % {
            'name': record.name,
            'domain': record.zone.domain
        }
    else:
        name = record.zone.domain

    name += '.'

    ttl = record.extra['ttl'] if 'ttl' in record.extra else record.zone.ttl
    ttl = str(ttl)
    record_type = RecordType.__repr__(record.type)
    data = record.data

    if record.type in [
            RecordType.CNAME, RecordType.DNAME, RecordType.MX, RecordType.PTR,
            RecordType.SRV
    ]:
        # Make sure trailing dot is present
        if data[len(data) - 1] != '.':
            data += '.'

    if record.type in [RecordType.TXT, RecordType.SPF] and ' ' in data:
        # Escape the quotes
        data = data.replace('"', '\\"')

        # Quote the string
        data = '"%s"' % (data)

    if record.type in [RecordType.MX, RecordType.SRV]:
        priority = str(record.extra['priority'])
        parts = [name, ttl, 'IN', record_type, priority, data]
    else:
        parts = [name, ttl, 'IN', record_type, data]

    line = '\t'.join(parts)
    return line
Пример #3
0
 def __repr__(self):
     return ('<Record: zone=%s, name=%s, type=%s, data=%s, provider=%s '
             '...>' %
             (self.zone.id, self.name, RecordType.__repr__(self.type),
              self.data, self.driver.name))
Пример #4
0
 def __repr__(self):
     return ('<Record: zone=%s, name=%s, type=%s, data=%s, provider=%s '
             '...>' %
             (self.zone.id, self.name, RecordType.__repr__(
                 self.type), self.data, self.driver.name))