Add A and AAAA records. Add invaliad data exception.

This commit is contained in:
minecraftchest1@outlook.com 2024-11-06 10:57:44 -06:00
parent 151f504b83
commit 10d25b3aa9

32
main.py
View file

@ -1,6 +1,15 @@
from enum import Enum
from dataclasses import dataclass, field
import time
import ipaddress
import dns
class InvaliadDataException(Exception):
"""Exception raied when invaliad data is passed to a record"""
def __init__(self, message):
self.message = message
super.__init__(self, message)
@dataclass
class Record:
@ -19,6 +28,29 @@ class Record:
data: str = '0.0.0.0'
ttl: int = 6400
@dataclass
class A(Record):
def __init__(self, name: str = '@', ttl: str = 3600, data: str = '0.0.0.0'):
if isinstance(ipaddress.ip_address(data), ipaddress.IPv4Address):
self.data = data
else:
raise InvaliadDataException
self.rtype = 'A'
self.name = name
self.ttl = ttl
@dataclass
class AAAA(Record):
def __init__(self, name: str = '@', ttl: str = 3600, data: str = '0.0.0.0'):
if isinstance(ipaddress.ip_address(data), ipaddress.IPv4Address):
self.data = data
else:
raise InvaliadDataException
self.rtype = 'AAAA'
self.name = name
self.ttl = ttl
@dataclass