Source code for languageflow.board

import webbrowser
import os
import shutil
from os.path import dirname, join


[docs]class Board: """ Visualize analyzed results Examples -------- >>> from languageflow.board import Board >>> from languageflow.log.tfidf import TfidfLogger >>> log_folder = join(dirname(__file__), "log") >>> model_folder = join(dirname(__file__), "model") >>> board = Board(log_folder) >>> MultilabelLogger.log(X_test, y_test, y_pred, log_folder=log_folder) >>> TfidfLogger.log(model_folder=model_folder, log_folder=log_folder) >>> board.serve(port=62000) """ def __init__(self, log_folder): self.log_folder = log_folder """ Reset log folder Parameters ---------- log_folder: string path to log folder """ # Empty log folder try: shutil.rmtree(log_folder) except: pass finally: os.mkdir(log_folder) # Copy web source source_web_folder = join(dirname(__file__), "board", "web") web_folder = join(log_folder, "web") shutil.copytree(source_web_folder, web_folder) index_file = join(dirname(__file__), "board", "index.html") shutil.copy(index_file, join(log_folder, "index.html"))
[docs] def serve(self, port=62000): """ Start LanguageBoard web application Parameters ---------- port: int port to serve web application """ from http.server import HTTPServer, CGIHTTPRequestHandler os.chdir(self.log_folder) httpd = HTTPServer(('', port), CGIHTTPRequestHandler) print("Starting LanguageBoard on port: " + str(httpd.server_port)) webbrowser.open('http://0.0.0.0:{}'.format(port)) httpd.serve_forever()