import sys
import cgi
from input import makepage_input
from show import makepage_show
from analyze import makepage_analyze
from setting import makepage_setting
from db import DBAccess

#標準入出力のエンコード指定
sys.stdin.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding='utf-8')

#cgiオブジェクト作成
form  = cgi.FieldStorage()

#パラメータを変数に格納
func        = form.getfirst('func', '')         #画面遷移用
nowdate     = form.getfirst('now_date', '')
item        = form.getfirst('item_list', '0')
assessment   = form.getfirst('assessment', '0')
comment     = form.getfirst('comment', '') 
currentpage = form.getfirst('page', '1')        #ページ切替え用

#<body>内容
body_content = ''

#<body>内容：funcによる分岐
match func:
  case '1':
    #<body>内容：登録画面
    body_content = makepage_input()
  case '2':
    #<body>内容：記録画面
    if nowdate != '' and item != '0' and assessment != '0':
      DBAccess.insert_record(item, assessment, comment)
      body_content += 'レコード登録完了！'
    body_content += makepage_show(currentpage)
  case '3':
    #<body>内容：分析画面
    body_content += makepage_analyze() #body_content += '分析画面'
  case '4':
    #<body>内容：設定画面
    body_content += makepage_setting()
  case 'DEL':
    DBAccess.delete_all_record()
    body_content += 'レコード削除完了！'
  case _:
    body_content += ''

#HTMLファイルを開く
with open('index.html', mode='r', encoding='utf-8') as f:
  file = f.read()

#<body>内容を出力
html_text = file.format(content = body_content)
print(html_text)