diff --git a/src/main.py b/src/main.py index c1f2177..78ff53e 100644 --- a/src/main.py +++ b/src/main.py @@ -98,14 +98,15 @@ class Updater: modes = update_info.get("modes", [Mode.IPv4]) update_required = False resolved_addrs = {} + addrs = {m: self.addrs[m] for m in modes} for mode in modes: log.debug(f"Resolving {domain} ({mode})") resolved = resolve(domain, mode) resolved_addrs[mode] = resolved log.debug(f"Resolved to {resolved}") - if resolved != self.addrs[mode]: - update_required = True - if not update_required: + if addrs == resolved_addrs: + if not self.history[domain]: + self.add_to_history(domain, resolved_addrs, True, "no update required") return log.info(f"Updating {domain}") replacements = { @@ -158,10 +159,10 @@ class Handler(BaseHTTPRequestHandler): else: path = self.server.args.web + self.path try: - data = open(path).read() + data = open(path, 'rb').read() self.send_response(200) self.end_headers() - self.wfile.write(bytes(data, 'utf-8')) + self.wfile.write(data) except: self.send_response(404) self.end_headers() @@ -174,7 +175,7 @@ class WebServer(ThreadingHTTPServer): def main(): args = get_args() - logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO) + logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO, format='[%(levelname)s]\t%(message)s') log.info(f"Loading config from {args.config}") config = get_config(args.config) if args.web: diff --git a/web/material-symbols-outlined.woff2 b/web/material-symbols-outlined.woff2 new file mode 100644 index 0000000..8ffab34 Binary files /dev/null and b/web/material-symbols-outlined.woff2 differ