"""
Ui application implementation.
"""
import os
import sys
sys.path.insert(0, os.path.dirname(__file__) + "/../")
from analysis.app import App
from analysis.ui.config import UiConfig
from analysis.ui.database import ui_tuning, ui_analysis, ui_user, ui_command
from analysis.ui import offline
from analysis.ui import echo
from analysis.ui.cache import LocalCache
class AppUI(App):
"""app ui"""
def add_resource(self):
"""flask app add resource"""
self.api.add_resource(ui_tuning.UiTuning, '/v1/UI/tuning/<string:cmd>')
self.api.add_resource(ui_analysis.UiAnalysis, '/v1/UI/analysis/<string:cmd>')
self.api.add_resource(ui_command.UiCommand, '/v1/UI/command/<string:cmd>')
self.api.add_resource(ui_user.UiUser, '/v1/UI/user/<string:cmd>')
self.api.add_resource(offline.OfflineTunning, '/v2/UI/offline/<string:cmd>')
self.api.add_resource(echo.EchoTunning, '/v2/UI/echo')
def add_cache(self):
"""flask app ui add local cache"""
LocalCache.cache.init_app(self.app)
def main(filename):
"""app main function"""
if not UiConfig.initial_params(filename):
return
app_ui = AppUI()
app_ui.add_cache()
app_ui.startup_app(UiConfig.ui_host, UiConfig.ui_port,
UiConfig.ui_tls,
UiConfig.ui_server_cert, UiConfig.ui_server_key,
UiConfig.ui_ca_file, UiConfig.level)
if __name__ == '__main__':
if len(sys.argv) != 2:
sys.exit(-1)
main(sys.argv[1])