#! /usr/bin/env python3 #=============================== # # html_menu # # 2021/02/09 Kuninori Morimoto #=============================== import sys import os import datetime import view import html_base from html_base import html #==================================== # # periject_html # #==================================== class periject_html(html_base.myhtml): #-------------------- # menu_wiki #-------------------- def menu_wiki(self): html("a", {"target":"_blank", "href":"./wiki/top.html"}).print("Peri Peri Wiki") #-------------------- # menu_folder #-------------------- def menu_folder(self, current): folders = self.runl("cd {}; ls -F | grep /".format(current)) path = current.replace("./projects", ".") link = html("a", {"target":"summary", "href":"{}/summary.html?folder".format(path)}) html("li").print(link.text(os.path.basename(current))) if (not folders): return with html("ul"): for folder in folders: dir = os.path.basename(folder) self.menu_folder("{}/{}".format(current, folder[:-1])) #-------------------- # menu_assignee #-------------------- def menu_assignee(self): # from project.schema.yaml with html("ul"): for assignee in ['BSP', 'Geert', 'Jacopo', 'Kieran', 'Laurent', 'Magnus', 'Marek', 'Morimoto', 'Niklas', 'Shimoda', 'Wolfram', "NoAssignee"]: html("li").print(html("a", {"target":"summary", "href":"./{}.html?assignee".format(assignee)}).text(assignee)) #-------------------- # menu_status #-------------------- def menu_status(self): # from project.schema.yaml with html("ul"): for status in ['New', 'Active', 'Blocked', 'Paused', 'Done', 'Abandoned']: html("li").print(html("a", {"target":"summary", "href":"./{}.html?status".format(status)}).text(status)) #-------------------- # menu_team #-------------------- def menu_team(self): # from project.schema.yaml with html("ul"): for status in ['Core', 'IO', 'MM']: html("li").print(html("a", {"target":"summary", "href":"./{}.html?team".format(status)}).text(status)) #-------------------- # menu_bsp #-------------------- def menu_bsp(self, bsp): html("a", {"target":"summary", "href":"./{}.html?bsp".format(bsp)}).print(bsp) #-------------------- # print #-------------------- def print(self, argv): # remove this script argv.pop(0) self.print_css("html") with html("body"): html("h1").print("Wiki") self.menu_wiki() html("h1").print("Schedule") html("a", {"target":"summary", "href":"./schedule.html?schedule"}).print("schedule") html("h1").print("Folder") with html("ul"): self.menu_folder("./projects") html("h1").print("Assignee") self.menu_assignee() html("h1").print("Status") self.menu_status() html("h1").print("Team") self.menu_team() html("h1").print("BSP") with html("ul"): for bsp in argv: with html("li"): self.menu_bsp(bsp) html("div").print("

update
{}".format( datetime.datetime.now().strftime("%Y/%m/%d %H:%M"))) #==================================== # # As command # #==================================== if __name__=='__main__': # html_menu.py bsp39x periject_html().print(sys.argv)