|
"""Prep __main__.py.""" |
|
|
|
import os |
|
from pathlib import Path |
|
from typing import Optional |
|
|
|
import pandas as pd |
|
|
|
import streamlit as st |
|
from streamlit import session_state as state |
|
from types import SimpleNamespace |
|
|
|
import logzero |
|
from logzero import logger |
|
from set_loglevel import set_loglevel |
|
|
|
from litbee import __version__, litbee |
|
from litbee.files2df import files2df |
|
from litbee.utils import sb_front_cover, instructions, menu_items |
|
from litbee.ezbee_page import ezbee_page |
|
from litbee.dzbee_page import dzbee_page |
|
from litbee.xbee_page import xbee_page |
|
|
|
os.environ["TZ"] = "Asia/Shanghai" |
|
os.environ["LOGLEVEL"] = "10" |
|
logzero.loglevel(set_loglevel()) |
|
|
|
st.set_page_config( |
|
page_title=f"litbee v{__version__}", |
|
page_icon="π§", |
|
layout="wide", |
|
initial_sidebar_state="auto", |
|
menu_items=menu_items, |
|
) |
|
|
|
|
|
pd.set_option("display.precision", 2) |
|
pd.options.display.float_format = "{:,.2f}".format |
|
|
|
|
|
if "ns" not in state: |
|
state.ns = SimpleNamespace() |
|
|
|
|
|
def main(): |
|
|
|
|
|
sb_front_cover() |
|
|
|
try: |
|
_ = state.ns.df |
|
state.ns.count += 1 |
|
logger.debug(" run: %s", state.ns.count) |
|
except AttributeError: |
|
logger.debug("first run") |
|
|
|
df = files2df("data/test_en.txt", "data/test_zh.txt") |
|
state.ns.count = 1 |
|
state.ns.df = df |
|
|
|
|
|
menu = { |
|
"ezbee": ezbee_page, |
|
"dzbee": dzbee_page, |
|
"xbee": xbee_page, |
|
} |
|
selection = st.sidebar.radio("", menu) |
|
page = menu[selection] |
|
|
|
|
|
page() |
|
|
|
|
|
|
|
|
|
st.write(f"run: {state.ns.count}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
main() |
|
|