#!/usr/bin/python
# -*- coding: UTF-8 -*-

from MDmisc.database import Database
from PiAnoS import Database as DatabasePiAnoS
import os

import redis

from functions import *

SECRET_KEY = os.environ.get( "SECRET_KEY", random_data( 20 ) )

MAX_CONTENT_LENGTH = 500 * 1024 * 1024

EMAIL_NB_ITERATIONS = 50000
PASSWORD_NB_ITERATIONS = 50000

SESSION_TYPE = "redis"
SESSION_PERMANENT = False

redis_url = os.environ.get( "REDIS_URL", "redis://redis:6379/0" )
SESSION_REDIS = redis.from_url( redis_url )

session_timeout = int( os.environ.get( "SESSION_TIMEOUT", 15 * 60 ) )

pianosurl = os.environ.get( "DB_PIANOS_URL", "pgsql://pianos:pianos@pianos/pianos" )
pianosdb = DatabasePiAnoS( pianosurl )

dburl = os.environ.get( "DB_URL", "pgsql://db/icnml" )
db = Database( dburl )

redis_url2 = os.environ.get( "REDIS_URL_SHARED", "redis://redis:6379/1" )
redis_shared = redis.from_url( redis_url2 )

CACHE_TYPE = "redis"
CACHE_REDIS_URL = redis_url2

smtpserver = os.environ.get( "SMTP_SERVER", "smtp.unil.ch" )
sender = "icnml@unil.ch"

SESSION_COOKIE_SECURE = True
SESSION_COOKIE_SAMESITE = "Strict"

domain = "https://icnml.unil.ch"
baseurl = os.environ.get( "BASEURL", "" )
fulldomain = domain + baseurl
cdn = fulldomain + "/cdn"

RP_ID = "icnml.unil.ch"
ORIGIN = domain
rp_name = "ICNML"

gpg_key = ( "FB15B70D1507B18B", )
keys_folder = os.environ.get( "KEYS_FOLDER", "/keys" )

NIST_file_extensions = [
    ".nist", ".nst",
    ".an2", ".an2k",
    ".xml",
    ".lffs", ".lff",
    ".lfis", ".lfi",
    ".irq", ".irr", ".isr",
    ".srl",
    ".lsmq", ".lsmr",
    ".lpnq", ".lpn", ".lpnr",
    ".ulac", ".uld",
    ".ular", ".uldr", ".uuld",
    ".errl", ".erri", ".erra", ".err"
]

all_fpc = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 27 ]
finger_fpc = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
palm_fpc = [ 25, 27 ]

cdnjs = [
    cdn + "/jquery/js/jquery-3.1.0.js",
    cdn + "/jquery/js/jquery-ui-1.12.1.min.js",
    cdn + "/toastr/toastr.min.js",
    cdn + "/misc/md5-min.js",
    cdn + "/sha512.js",
    cdn + "/moment.min.js",
    cdn + "/base64.js",
    cdn + "/otplib-browser.js",
    cdn + "/dropzone/dropzone.js",
    cdn + "/crypto-js/rollups/aes.js",
    cdn + "/crypto-js/rollups/pbkdf2.js"
]

cdncss = [
    cdn + "/jquery/css/base/jquery-ui.min.css",
    cdn + "/toastr/toastr.min.css",
    cdn + "/dropzone/dropzone.css",
    cdn + "/loadingcss/loading-btn.css",
    cdn + "/loadingcss/loading.css",
]

misc = {
    "jquery_ui_white_bg_icons": "/cdn/jquery/css/base/images/ui-icons_ffffff_256x240.png"
}

gpg_options = {
    "binary": os.environ.get( "GPG_BIN", "gpg" ),
    "homedir": os.environ.get( "GPG_HOMEDIR", "/tmp/gpg" )
}