Skip to content
Snippets Groups Projects
Select Git revision
  • e7c015a89ff8eed4acd99d7b383c1c3843930fec
  • master default
  • v2.21.0
  • v2.20.1
  • v2.20.0
  • v2.19.0
  • v2.18.1
  • v2.18.0
  • v2.17.0
  • v2.16.0
  • v2.15.0
  • v2.14.0
  • v2.13.1
  • v2.13.0
  • v2.12.0
  • v2.11.0
  • v2.10.0
  • v2.9.0
  • v2.8.0
  • v2.7.0
  • v2.6.0
  • v2.5.0
22 results

Database.py

Blame
  • StorageLeaf.py 1.48 KiB
    import os
    
    from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger
    from TheCodeLabs_FlaskUtils.FlaskBaseApp import FlaskBaseApp
    
    from blueprints import Routes, Devices, Sensors, Measurements
    from logic import Constants
    from logic.BackupService import BackupService
    from logic.DiscoveryService import DiscoveryService
    
    LOGGER = DefaultLogger().create_logger_if_not_exists(Constants.APP_NAME)
    
    
    class StorageLeaf(FlaskBaseApp):
        def __init__(self, appName: str):
            super().__init__(appName, os.path.dirname(__file__), LOGGER, serveRobotsTxt=False)
            databaseSettings = self._settings['database']
            self._backupService = BackupService(databaseSettings['databasePath'], **databaseSettings['backup'])
    
            discoverySettings = self._settings['discovery']
            discoverySettings['apiPort'] = self._settings['server']['port']
            self._discoveryService = DiscoveryService(**discoverySettings)
            self._discoveryService.start()
    
        def _register_blueprints(self, app):
            app.register_blueprint(Routes.construct_blueprint(self._settings, self._version))
            app.register_blueprint(Devices.construct_blueprint(self._settings, self._backupService))
            app.register_blueprint(Sensors.construct_blueprint(self._settings, self._backupService))
            app.register_blueprint(Measurements.construct_blueprint(self._settings, self._backupService))
            return app
    
    
    if __name__ == '__main__':
        website = StorageLeaf(Constants.APP_NAME)
        website.start_server()