#!/usr/bin/python3
#encoding:utf-8

from sitepackage.cgiweb import template, cgi_cover
from sitepackage.thissql import sqlw, sqlr
from admin import make_header


import os
import datetime


__config__ = {
  "template_dir_path":"template"
}


def main(geted_simple_cookies, info, parametrs, files):
  errors, ok = None, False
  if 'session_id' in geted_simple_cookies:
    session_id = geted_simple_cookies['session_id'].value
    if "exit" in parametrs:
      sqlw("DELETE FROM sessions WHERE session_id=?", [session_id])
    sessions_data = sqlr("SELECT login,expires FROM sessions WHERE session_id=?",
      [session_id])
    if len(sessions_data) == 1:
      login, expires = sessions_data[0]
      utcnow = datetime.datetime.utcnow()
      if expires > str(utcnow.timestamp()):
        role = sqlr("SELECT role FROM users WHERE login=?", [login])
        if "password" in role[0][0]:
          ok = True
        else:
          errors = "error4.no access"
      else:
        errors = "error1.session expire"
    else:
      errors = "error2.session expire"
  else:
    errors = "error3.no email or pass"
  if ok:
    message = ""
    if "message" in parametrs:
      message = parametrs["message"][0]
    header = make_header(login, role)
    page = template(
      open(
        os.path.join(
          __config__["template_dir_path"],
          "password.html"),
        encoding="utf8").read(),
      {
        "header":header,
        "message":message
      }
    )
  else:
    page = errors
  return {'page':page}


if __name__ == '__main__':
  import cgitb
  cgitb.enable(display=1, logdir="log")
  cgi_cover(main)
