shortener/shortener/resolver.py

26 lines
652 B
Python
Raw Normal View History

2021-05-29 15:57:49 +02:00
import os
from dns.name import from_text
2021-05-29 16:34:08 +02:00
from dns.resolver import Resolver
2021-05-29 15:57:49 +02:00
from shortener.exceptions import ShortCodeNotFoundException
BASE_DOMAIN = os.getenv("BASE_DOMAIN")
class ShortenerResolver(Resolver):
def __init__(self):
super().__init__()
self.search = [from_text(BASE_DOMAIN + ".")]
def resolve_shortcode(self, shortcode):
try:
answer = self.resolve(shortcode, "TXT", search=True, lifetime=10)
redirect_url = list(answer)[0].strings[0].decode("utf-8")
return redirect_url
except:
raise ShortCodeNotFoundException()
resolver = ShortenerResolver()