X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomlib.py;h=18c2f185ec615a6dc61c6232bdf19b585499668b;hb=7c77bd5fe82ff15e0e9c6a808ff7eb5a6d859301;hp=92bfb8535d7604bc1e47f0595cc68fd28e433283;hpb=436e0f40b45319ef4452ce6ced1a3c3df813119b;p=misc diff --git a/plomlib.py b/plomlib.py index 92bfb85..18c2f18 100644 --- a/plomlib.py +++ b/plomlib.py @@ -27,6 +27,9 @@ class PlomDB: def backup(self): import shutil from datetime import datetime, timedelta + if not os.path.exists(self.db_file): + return + # collect modification times of numbered .bak files bak_prefix = f'{self.db_file}.bak.' backup_dates = [] @@ -77,25 +80,17 @@ class PlomDB: self.unlock() -class PlomServer(BaseHTTPRequestHandler): +class PlomHandler(BaseHTTPRequestHandler): + homepage = '/' + html_head = '\n\n' + html_foot = '\n' - def __init__(self, *args, **kwargs): - self.html_head = ['\n\n'] - self.html_foot = ['\n'] - self.pre_init() - super().__init__(*args, **kwargs) - - def pre_init(self): - pass - def fail_400(self, e): self.send_HTML(f'ERROR: {e}', 400) def send_HTML(self, html, code=200): self.send_code_and_headers(code, [('Content-type', 'text/html')]) - header = '\n'.join(self.html_head) - footer = '\n'.join(self.html_foot) - self.wfile.write(bytes(f'{header}\n{html}\n{footer}', 'utf-8')) + self.wfile.write(bytes(f'{self.html_head}\n{html}\n{self.html_foot}', 'utf-8')) def send_code_and_headers(self, code, headers=[]): self.send_response(code) @@ -108,9 +103,9 @@ class PlomServer(BaseHTTPRequestHandler): -def run_server(port, server_class): +def run_server(port, handler_class): from http.server import HTTPServer - webServer = HTTPServer(('localhost', port), server_class) + webServer = HTTPServer(('localhost', port), handler_class) print(f"Server started http://localhost:{port}") try: webServer.serve_forever()