From 8e8ffc56867647eca41634cfde4ae8071132a9f5 Mon Sep 17 00:00:00 2001 From: Marcel Nijenhof Date: Tue, 21 Jan 2020 22:26:58 +0100 Subject: [PATCH] Initial commit --- flaskpagethread.py | 28 ++++++++++++++++++++++++++++ fpt | 21 +++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 flaskpagethread.py create mode 100755 fpt diff --git a/flaskpagethread.py b/flaskpagethread.py new file mode 100644 index 0000000..84a0ab0 --- /dev/null +++ b/flaskpagethread.py @@ -0,0 +1,28 @@ +from time import sleep +from threading import Thread + +class FlaskPageThread(Thread): + def __init__(self, delay, func, *args, **kwargs): + self.delay = delay + self.func = func + self.args = args + self.page = ("init", 500) + name = kwargs.get("name", "FlaskPageThread") + super().__init__(target=self.run, daemon=True, name=name) + + def genpage(self): + try: + data = self.func(*self.args) + self.page = (data, 200) + except Exception as e: + print("Exception: %s" % e) + self.page = ("Internal error", 500) + + def run(self): + self.genpage() + while True: + sleep(self.delay) + self.genpage() + +if __name__ == "__main__": + pass diff --git a/fpt b/fpt new file mode 100755 index 0000000..141c315 --- /dev/null +++ b/fpt @@ -0,0 +1,21 @@ +#!/usr/bin/python3 + +from flask import Flask, escape, request +from time import sleep, ctime +from flaskpagethread import FlaskPageThread + +app = Flask(__name__) + +def s(delay): + sleep(delay) + return(ctime() + "\n") + +page = FlaskPageThread(3, s, 1) +page.start() + +@app.route('/') +def root(): + return(page.page) + +if __name__ == '__main__': + app.run()