Make everything work.

This commit is contained in:
minecraftchest1@outlook.com 2024-11-12 07:39:36 -06:00
parent 10d25b3aa9
commit c0b9b0ba05
2 changed files with 15 additions and 3 deletions

17
main.py
View file

@ -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):

View file

@ -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')