def __init__(self, args): self._original_excepthook = sys.excepthook self._configuration = CONF self._security_manager = SecurityManager() self._mappers_manager = MapperManager() self._changes_controller = ChangeController() self._db_manager = DbManager() self._model_controller = ModelController(self._security_manager, self._mappers_manager) self._plugin_manager = PluginManager( os.path.join(CONF.getConfigPath(), "plugins"), self._mappers_manager) self._reports_manager = ReportManager( 10, self._plugin_manager.createController("ReportManager")) self._workspace_manager = WorkspaceManager(self._db_manager, self._mappers_manager, self._changes_controller, self._reports_manager) self.gui_app = UiFactory.create(self._model_controller, self._plugin_manager, self._workspace_manager, args.gui) self.gui_app.setSplashImage( os.path.join(CONF.getImagePath(), "splash2.png"))
def process_workspaces(mappers_manager, plugin_manager, query, disable_polling): report_managers = [] controllers = [] for workspace in query.all(): pending_actions = Queue() plugin_controller = PluginController( 'PluginController', plugin_manager, mappers_manager, pending_actions ) mappers_manager.createMappers(workspace.name) controller = ModelController(mappers_manager, pending_actions) workspace_manager = WorkspaceManager(mappers_manager) setUpAPIs(controller, workspace_manager, hostname=None, port=None) controller.start() controllers.append(controller) report_manager = ReportManager( 0.1, workspace.name, plugin_controller, polling=not disable_polling ) report_managers.append(report_manager) report_manager.start() for report_manager in report_managers: report_manager.stop() for controller in controllers: controller.stop()
def testWatchReportPath(self): import os.path import os workspace_name = common.new_random_workspace_name() timer = 10 report_manager = ReportManager(timer, mock()) report_manager.watch(workspace_name) self.assertTrue( os.path.exists(os.path.join(CONF.getReportPath(), workspace_name)), 'Report directory not found')
def openWorkspace(self, name): # The method openWorkspace can return a workspace or # raise en Exception. For now, just raise it to the caller if self.report_manager: self.report_manager.stop() self.report_manager.join() try: ws = self.getWorkspaceManager().openWorkspace(name) self.report_manager = ReportManager(10, name, self.plugin_controller) self.report_manager.start() except Exception as e: raise e return ws
def openWorkspace(self, name): """Open a workspace by name. Returns the workspace of raises an exception if for some reason it couldn't. """ if self.report_manager: self.report_manager.stop() self.report_manager.join() try: ws = self.getWorkspaceManager().openWorkspace(name) self.report_manager = ReportManager(10, name, self.plugin_controller) self.report_manager.start() except Exception as e: raise e return ws
def openDefaultWorkspace(self): """ Opens the default workspace (called 'untitled'). This method shouldn't fail, since the default workspace should be always available Returns the default workspace """ if self.report_manager: self.report_manager.stop() self.report_manager.join() ws = self.getWorkspaceManager().openDefaultWorkspace() self.report_manager = ReportManager(10, ws.name, self.plugin_controller) self.report_manager.start() return ws
def testStartReportNoPathRunsException(self): report_manager = ReportManager(0, mock()) self.assertRaises(NoReportsWatchException, report_manager.startWatch)
def testCreateReportManager(self): timer = 10 report_manager = ReportManager(timer, mock()) self.assertIsNotNone(report_manager)