Files

37 lines
1.2 KiB
Python

from flask import g, session
from werkzeug.security import generate_password_hash
from app import webapp
from app.config import Defaults
from app.homeassistant import HomeAssistant
from app.models.settings import Setting
@webapp.before_first_request
def connect_to_homeassistant():
session.clear()
# Setup connection to Home Assistant
hass_url = Setting.get_value(Setting.Keys.HASS_URL)
hass_token = Setting.get_value(Setting.Keys.HASS_TOKEN)
validConnection = HomeAssistant.testConnection(hass_url, hass_token)
if validConnection:
HomeAssistant.initialize(url=hass_url, token=hass_token)
# Create defaults in the database
Setting.get_value(Setting.Keys.HASSCALL_LOGIN_REQUIRED, Defaults.login_enabled)
Setting.get_value(Setting.Keys.HASSCALL_USERNAME, Defaults.username)
Setting.get_value(Setting.Keys.HASSCALL_PASSWORD, generate_password_hash(Defaults.password))
@webapp.context_processor
def inject_user():
data = {'loggedin': False, 'user': None}
login_required = Setting.get_value(Setting.Keys.HASSCALL_LOGIN_REQUIRED)
if login_required == 'true':
if g.user is not None:
data['loggedin'] = True
data['user'] = g.user
return data