Skip to content
Snippets Groups Projects
Commit 401392ed authored by David Trattnig's avatar David Trattnig
Browse files

Removed dysfunctional web part.

parent ae4f1a25
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/python3.7 #!/usr/bin/python3.7
# #
# engine # Aura Engine
#
# Playout Daemon for autoradio project
#
#
# Copyright (C) 2017-2018 Gottfried Gaisbauer <gottfried.gaisbauer@servus.at>
#
# This file is part of engine.
#
# engine is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# engine is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with engine. If not, see <http://www.gnu.org/licenses/>.
# #
# Copyright (C) 2017-2020
# David Trattnig <david.trattnig@subsquare.at>
# Gottfried Gaisbauer <gottfried.gaisbauer@servus.at>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import sys import sys
...@@ -32,44 +29,22 @@ import unittest ...@@ -32,44 +29,22 @@ import unittest
from pathlib import Path from pathlib import Path
from flask import request, render_template, Flask, Response from flask import request, render_template, Flask, Response
from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
#from modules.web.routes import Routes
from modules.monitoring.diskspace_watcher import DiskSpaceWatcher
from libraries.base.logger import AuraLogger from libraries.base.logger import AuraLogger
from libraries.base.config import AuraConfig from libraries.base.config import AuraConfig
# from modules.monitoring.diskspace_watcher import DiskSpaceWatcher
# def get_config_file():
# if len(sys.argv) >= 3 and "--config-file" in sys.argv:
# idx = sys.argv.index("--config-file")
# return sys.argv[idx + 1]
def get_database_uri():
db_name = config.get("db_name")
db_user = config.get("db_user")
db_pass = config.get("db_pass")
db_host = config.get("db_host")
db_charset = config.get("db_charset", "utf8")
return "mysql://" + db_user + ":" + db_pass + "@" + db_host + "/" + db_name + "?charset=" + db_charset
def configure_flask(): def configure_flask():
app.config["SQLALCHEMY_DATABASE_URI"] = get_database_uri() app.config["SQLALCHEMY_DATABASE_URI"] = config.get_database_uri()
app.config['BABEL_DEFAULT_LOCALE'] = 'de' app.config['BABEL_DEFAULT_LOCALE'] = 'de'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
config = AuraConfig() config = AuraConfig()
app = Flask(__name__, template_folder=config.get("install_dir") + "/modules/web/templates") app = Flask(__name__)
configure_flask() configure_flask()
DB = SQLAlchemy(app) DB = SQLAlchemy(app)
Base = declarative_base() Base = declarative_base()
class Aura: class Aura:
logger = None logger = None
config = None config = None
...@@ -89,44 +64,30 @@ class Aura: ...@@ -89,44 +64,30 @@ class Aura:
from modules.communication.liquidsoap.communicator import LiquidSoapCommunicator from modules.communication.liquidsoap.communicator import LiquidSoapCommunicator
from modules.communication.redis.adapter import ServerRedisAdapter from modules.communication.redis.adapter import ServerRedisAdapter
# Check if the database has to be re-created
if self.config.get("recreate_db") is not None: if self.config.get("recreate_db") is not None:
AuraScheduler(self.config) # handles recreate and exits program AuraScheduler(self.config)
# Create scheduler and Liquidsoap communicator
# create scheduler and ls_communicator
self.liquidsoapcommunicator = LiquidSoapCommunicator(self.config) self.liquidsoapcommunicator = LiquidSoapCommunicator(self.config)
self.scheduler = AuraScheduler(self.config) self.scheduler = AuraScheduler(self.config)
# give both a reference of each other # Give both a reference of each other
self.liquidsoapcommunicator.scheduler = self.scheduler self.liquidsoapcommunicator.scheduler = self.scheduler
self.scheduler.liquidsoapcommunicator = self.liquidsoapcommunicator self.scheduler.liquidsoapcommunicator = self.liquidsoapcommunicator
# create the redis adapter # Create the Redis adapter
self.messenger = ServerRedisAdapter(self.config) self.messenger = ServerRedisAdapter(self.config)
self.messenger.scheduler = self.scheduler self.messenger.scheduler = self.scheduler
self.messenger.liquidsoapcommunicator = self.liquidsoapcommunicator self.messenger.liquidsoapcommunicator = self.liquidsoapcommunicator
# FIXME Check if it's working / needed. # TODO Check if it's working / needed.
#self.diskspace_watcher = DiskSpaceWatcher(self.config, self.logger, self.liquidsoapcommunicator) #self.diskspace_watcher = DiskSpaceWatcher(self.config, self.logger, self.liquidsoapcommunicator)
#self.diskspace_watcher.start() #self.diskspace_watcher.start()
# and finally wait for redis message / start listener thread # And finally wait for redis message / start listener thread
self.messenger.start() self.messenger.start()
# start the web service
self.start_web_service()
def start_web_service(self):
# FIXME Test current state of Web Services
try:
self.logger.info("Listening on Port 5000 for API or Webcalls")
# Routes(self.scheduler, self.liquidsoapcommunicator, self.messenger, self.config)
except OSError as e:
self.messenger.halt()
self.logger.critical("AuraEngine already running? Exception: " + e.strerror + ". Exiting...")
os._exit(0)
# # ## ## ## ## ## # # # # ## ## ## ## ## # #
...@@ -135,10 +96,6 @@ class Aura: ...@@ -135,10 +96,6 @@ class Aura:
def main(): def main():
aura = Aura() aura = Aura()
# FIXME MAKE THE STARTTIME OF A SCHEDULE TO ITS PK
aura.logger.critical("MAKE THE STARTTIME OF A SCHEDULE TO ITS PK")
if len(sys.argv) >= 2: if len(sys.argv) >= 2:
if "--use-test-data" in sys.argv: if "--use-test-data" in sys.argv:
aura.config.set("use_test_data", True) aura.config.set("use_test_data", True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment