import tornado.ioloop
import tornado.web
import json
import argparse
from o_manager import OManager
ap = argparse.ArgumentParser()
ap.add_argument("-s", "--session_folder", required=True,
help="path to the session folder")
args = vars(ap.parse_args())
session_folder = args["session_folder"]
om = OManager(session_folder)
class MainHandler(tornado.web.RequestHandler):
def get(self):
buf = f"ops len: {len(om.ops)}
\n"
if len(om.ops):
for idx, op in enumerate(om.ops):
buf += f"op #{idx}, name: {op.name}
\n"
buf += f"status: {op.status}
\n"
buf += f"pid: {op.PID}
\n"
buf += "log:
\n"
buf += "
\n"
buf += op.get_log()
buf += f"\nSpeed: {op.get_latest_speed()}\n"
buf += "\nio_stat\n"
buf += "\n".join(op.get_io_stat().splitlines()[-5:])
buf += "\nping_stat\n"
buf += "\n".join(op.get_ping_stat().splitlines()[-5:])
buf += "\n\n"
self.write(buf)
class ConfigsHandeler(tornado.web.RequestHandler):
def get(self):
cfgs = json.loads(open("profiles.json", "r").read())
buf = "Select one configuration to create.