Make everything work.
This commit is contained in:
parent
10d25b3aa9
commit
c0b9b0ba05
2 changed files with 15 additions and 3 deletions
17
main.py
17
main.py
|
@ -3,13 +3,14 @@ from dataclasses import dataclass, field
|
|||
import time
|
||||
import ipaddress
|
||||
import dns
|
||||
import fqdn
|
||||
|
||||
class InvaliadDataException(Exception):
|
||||
"""Exception raied when invaliad data is passed to a record"""
|
||||
|
||||
def __init__(self, message):
|
||||
self.message = message
|
||||
super.__init__(self, message)
|
||||
super().__init__(self, message)
|
||||
|
||||
@dataclass
|
||||
class Record:
|
||||
|
@ -34,7 +35,7 @@ class A(Record):
|
|||
if isinstance(ipaddress.ip_address(data), ipaddress.IPv4Address):
|
||||
self.data = data
|
||||
else:
|
||||
raise InvaliadDataException
|
||||
raise InvaliadDataException(message=f'{data} is not a valiad IPv4 Address.')
|
||||
|
||||
self.rtype = 'A'
|
||||
self.name = name
|
||||
|
@ -46,12 +47,22 @@ class AAAA(Record):
|
|||
if isinstance(ipaddress.ip_address(data), ipaddress.IPv4Address):
|
||||
self.data = data
|
||||
else:
|
||||
raise InvaliadDataException
|
||||
raise InvaliadDataException(message=f'{data} is not a valiad IPv6 Address.')
|
||||
|
||||
self.rtype = 'AAAA'
|
||||
self.name = name
|
||||
self.ttl = ttl
|
||||
|
||||
@dataclass
|
||||
class CNAME(Record):
|
||||
def __init__(self, name: str = '@', ttl: str = 3600, data: str = '0.0.0.0'):
|
||||
self.rtype = 'CNAME'
|
||||
self.name = name
|
||||
self.ttl = ttl
|
||||
|
||||
if(fqdn.FQDN(data).is_valid):
|
||||
self.data = data
|
||||
|
||||
|
||||
@dataclass
|
||||
class SOA(Record):
|
||||
|
|
1
test.py
1
test.py
|
@ -6,4 +6,5 @@ record = main.Record(data='192.168.5.254', name='localhost.example.com')
|
|||
#zone.add(soa)
|
||||
zone.new_soa(mname='ns1.')
|
||||
zone.add(record)
|
||||
zone.add(main.A(name='example', data='fe80::727f:3322:18b1:23e7'))
|
||||
zone.save_file('/tmp/zone.txt')
|
Loading…
Add table
Reference in a new issue