Esempio n. 1
0
    def setUp(self):
        self._security_manager = mock(SecurityManager())
        self._mappers_manager = mock(MapperManager())
        self._plugin_manager = mock(PluginManager)

        self._model_controller = ModelController(self._security_manager,
                                                 self._mappers_manager)

        restapi.startAPIs(self._plugin_manager, self._model_controller,
                          self._mappers_manager)

        #TODO: load conf from file
        self.client = ModelRestApiClient("127.0.0.1", 9977)
    def setUp(self):
        self._security_manager = mock(SecurityManager())
        self._mappers_manager = mock(MapperManager())
        self._plugin_manager = mock(PluginManager)

        self._model_controller = ModelController(
            self._security_manager,
            self._mappers_manager)

        restapi.startAPIs(
            self._plugin_manager, self._model_controller,
            self._mappers_manager)

        #TODO: load conf from file
        self.client = ModelRestApiClient("127.0.0.1", 9977)
Esempio n. 3
0
    def start(self):
        try:
            signal.signal(signal.SIGINT, self.ctrlC)

            model.api.devlog("Starting application...")
            model.api.devlog("Setting up remote API's...")

            if not self.args.workspace:
                workspace = CONF.getLastWorkspace()
                self.args.workspace = workspace

            model.api.setUpAPIs(
                self._model_controller,
                self._workspace_manager,
                CONF.getApiConInfoHost(),
                CONF.getApiConInfoPort())
            model.guiapi.setUpGUIAPIs(self._model_controller)

            model.api.devlog("Starting model controller daemon...")

            self._model_controller.start()
            model.api.startAPIServer()
            restapi.startAPIs(
                self._plugin_controller,
                self._model_controller,
                CONF.getApiConInfoHost(),
                CONF.getApiRestfulConInfoPort()
            )

            model.api.devlog("Faraday ready...")

            exit_code = self.app.run(self.args)

        except Exception:
            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            exit_code = -1

        finally:
            return self.__exit(exit_code)
Esempio n. 4
0
    def start(self):
        try:
            signal.signal(signal.SIGINT, self.ctrlC)

            model.api.devlog("Starting application...")
            model.api.devlog("Setting up remote API's...")

            if not self.args.workspace:
                workspace = CONF.getLastWorkspace()
                self.args.workspace = workspace

            model.api.setUpAPIs(self._model_controller,
                                self._workspace_manager,
                                CONF.getApiConInfoHost(),
                                CONF.getApiConInfoPort())
            model.guiapi.setUpGUIAPIs(self._model_controller)

            model.api.devlog("Starting model controller daemon...")

            self._model_controller.start()
            model.api.startAPIServer()
            restapi.startAPIs(self._plugin_controller, self._model_controller,
                              CONF.getApiConInfoHost(),
                              CONF.getApiRestfulConInfoPort())

            model.api.devlog("Faraday ready...")

            exit_code = self.app.run(self.args)

        except Exception as exception:
            print "There was an error while starting Faraday:"
            print "*" * 3,
            print exception,  # instead of traceback.print_exc()
            print "*" * 3
            exit_code = -1

        finally:
            return self.__exit(exit_code)
Esempio n. 5
0
 def setUpClass(cls):
     cls.model_controller = model.controller.ModelController(mock())
     plugin_repo_path = os.path.join(os.getcwd(), "plugins", "repo")
     plugin_manager = PluginManager(plugin_repo_path)
     api.startAPIs(plugin_manager, cls.model_controller)
Esempio n. 6
0
    def start(self):
        try:

            # splash_timer = qt.QTimer.singleShot(1700, lambda *args:None)
            # self._splash_screen.show()
            self.gui_app.startSplashScreen()

            signal.signal(signal.SIGINT, self.ctrlC)

            # self._writeSplashMessage("Setting up remote API's...")

            model.api.devlog("Starting application...")
            model.api.devlog("Setting up remote API's...")

            model.api.setUpAPIs(self._model_controller, CONF.getApiConInfoHost(), CONF.getApiConInfoPort())
            model.guiapi.setUpGUIAPIs(self._model_controller)

            # self._writeSplashMessage("Starting model controller daemon...")

            model.api.devlog("Starting model controller daemon...")
            self._model_controller.start()
            model.api.startAPIServer()
            restapi.startAPIs(self._plugin_manager, self._model_controller)

            # self._writeSplashMessage("Setting up main GUI...")

            # self._writeSplashMessage("Creating default shell...")

            # self._main_window.createShellTab()

            # self._writeSplashMessage("Ready...")
            # self.logger.log("Faraday ready...")
            model.api.devlog("Faraday ready...")

            self.gui_app.stopSplashScreen()
            # self._main_window.showAll()

            logged = True

            while True:

                username, password = "******", "password"

                if username is None and password is None:
                    break
                result = self._security_manager.authenticateUser(username, password)
                if result == codes.successfulLogin:
                    logged = True
                    break

            if logged:
                # self._main_window.showLoggedUser(self._security_manager.current_user.display_name)
                model.api.__current_logged_user = username

                self._workspace_manager.loadWorkspaces()

                last_workspace = CONF.getLastWorkspace()
                w = self._workspace_manager.createWorkspace(last_workspace)
                self._workspace_manager.setActiveWorkspace(w)

                self.gui_app.loadWorkspaces()

                self._workspace_manager.startReportManager()

        except Exception:

            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            self.__exit(-1)

        if logged:
            exit_code = self.gui_app.run([])
            # exit_code = self.app.exec_loop()
        else:
            exit_code = -1

        return self.__exit(exit_code)
Esempio n. 7
0
    def start(self):
        try:

            self.gui_app.startSplashScreen()
            self.gui_app.splashMessage("Starting Faraday")

            signal.signal(signal.SIGINT, self.ctrlC)

            logged = True

            while True:

                username, password = "******", "password"

                if username is None and password is None:
                    break
                result = self._security_manager.authenticateUser(
                    username, password)
                if result == codes.successfulLogin:
                    logged = True
                    break

            if logged:
                model.api.devlog("Starting application...")
                model.api.devlog("Setting up remote API's...")
                # We need to create the last used workspace (or the default
                # workspace) before we start the model controller and the
                # report manager

                last_workspace = CONF.getLastWorkspace()
                if not self._workspace_manager.workspaceExists(last_workspace):
                    getLogger(self).info(
                        "Your last workspace (" + last_workspace +
                        ") wasn't accessible, check configuration...")
                    self._workspace_manager.openDefaultWorkspace()
                    #self._workspace_manager.createWorkspace(last_workspace, 'default workspace, probably created already in couchb')
                else:
                    self._workspace_manager.openWorkspace(last_workspace)

                model.api.setUpAPIs(self._model_controller,
                                    self._workspace_manager,
                                    CONF.getApiConInfoHost(),
                                    CONF.getApiConInfoPort())
                model.guiapi.setUpGUIAPIs(self._model_controller)

                model.api.devlog("Starting model controller daemon...")

                self._model_controller.start()
                model.api.startAPIServer()
                restapi.startAPIs(self._plugin_manager, self._model_controller,
                                  self._mappers_manager,
                                  CONF.getApiConInfoHost(),
                                  CONF.getApiRestfulConInfoPort())
                # Start report manager here
                getLogger(self).debug("Starting Reports Manager Thread")
                self._reports_manager.startWatch()

                model.api.devlog("Faraday ready...")
                model.api.__current_logged_user = username

                self.gui_app.splashMessage("Loading workspace... Please wait.")

                self.gui_app.loadWorkspaces()

            self.gui_app.stopSplashScreen()

        except Exception:
            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            self.__exit(-1)

        if logged:
            exit_code = self.gui_app.run([])
            #exit_code = self.app.exec_loop()
        else:
            exit_code = -1

        return self.__exit(exit_code)
Esempio n. 8
0
    def start(self):
        try:

            self.gui_app.startSplashScreen()
            self.gui_app.splashMessage("Starting Faraday")

            signal.signal(signal.SIGINT, self.ctrlC)

            logged = True

            while True:

                username, password = "******", "password"

                if username is None and password is None:
                    break
                result = self._security_manager.authenticateUser(username, password)
                if result == codes.successfulLogin:
                    logged = True
                    break

            if logged:
                model.api.devlog("Starting application...")
                model.api.devlog("Setting up remote API's...")
                # We need to create the last used workspace (or the default
                # workspace) before we start the model controller and the
                # report manager

                last_workspace = CONF.getLastWorkspace()
                try:
                    if not self._workspace_manager.workspaceExists(last_workspace):
                        getLogger(self).info(
                            "Your last workspace ("
                            + str(last_workspace)
                            + ") wasn't accessible, check configuration..."
                        )
                        self._workspace_manager.openDefaultWorkspace()
                        # self._workspace_manager.createWorkspace(last_workspace, 'default workspace, probably created already in couchb')
                    else:
                        self._workspace_manager.openWorkspace(last_workspace)
                except restkit.errors.Unauthorized:
                    print "You are trying to enter CouchDB with authentication"
                    print "Add your credentials to your user configuration file in $HOME/.faraday/config/user.xml"
                    print "For example: <couch_uri>http://john:[email protected]:5984</couch_uri>"
                    return

                model.api.setUpAPIs(
                    self._model_controller, self._workspace_manager, CONF.getApiConInfoHost(), CONF.getApiConInfoPort()
                )
                model.guiapi.setUpGUIAPIs(self._model_controller)

                model.api.devlog("Starting model controller daemon...")

                self._model_controller.start()
                model.api.startAPIServer()
                restapi.startAPIs(
                    self._plugin_manager,
                    self._model_controller,
                    self._mappers_manager,
                    CONF.getApiConInfoHost(),
                    CONF.getApiRestfulConInfoPort(),
                )
                # Start report manager here
                getLogger(self).debug("Starting Reports Manager Thread")
                self._reports_manager.startWatch()

                model.api.devlog("Faraday ready...")
                model.api.__current_logged_user = username

                self.gui_app.splashMessage("Loading workspace... Please wait.")

                self.gui_app.loadWorkspaces()

            self.gui_app.stopSplashScreen()

        except Exception:
            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            self.__exit(-1)

        if logged:
            exit_code = self.gui_app.run([])
            # exit_code = self.app.exec_loop()
        else:
            exit_code = -1

        return self.__exit(exit_code)
Esempio n. 9
0
    def start(self):
        try:

            self.gui_app.startSplashScreen()
            self.gui_app.splashMessage("Starting Faraday")

            signal.signal(signal.SIGINT, self.ctrlC)

            logged = True

            while True:

                username, password = "******", "password"

                if username is None and password is None:
                    break
                result = self._security_manager.authenticateUser(username, password)
                if result == codes.successfulLogin:
                    logged = True
                    break

            if logged:
                model.api.devlog("Starting application...")
                model.api.devlog("Setting up remote API's...")
                # We need to create the last used workspace (or the default
                # workspace) before we start the model controller and the
                # report manager

                last_workspace = CONF.getLastWorkspace()
                if not self._workspace_manager.workspaceExists(last_workspace):
                    self._workspace_manager.openDefaultWorkspace()
                    #self._workspace_manager.createWorkspace(last_workspace, 'default workspace, probably created already in couchb')
                else:
                    self._workspace_manager.openWorkspace(last_workspace)

                model.api.setUpAPIs(
                    self._model_controller,
                    self._workspace_manager,
                    CONF.getApiConInfoHost(),
                    CONF.getApiConInfoPort())
                model.guiapi.setUpGUIAPIs(self._model_controller)

                model.api.devlog("Starting model controller daemon...")

                self._model_controller.start()
                model.api.startAPIServer()
                restapi.startAPIs(
                    self._plugin_manager,
                    self._model_controller,
                    self._mappers_manager)
                # Start report manager here
                getLogger(self).debug("Starting Reports Manager Thread")
                self._reports_manager.startWatch()

                model.api.devlog("Faraday ready...")
                model.api.__current_logged_user = username

                self.gui_app.splashMessage("Loading workspace... Please wait.")

                self.gui_app.loadWorkspaces()

            self.gui_app.stopSplashScreen()

        except Exception:
            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            self.__exit(-1)

        if logged:
            exit_code = self.gui_app.run([])
            #exit_code = self.app.exec_loop()
        else:
            exit_code = -1

        return self.__exit(exit_code)
Esempio n. 10
0
    def start(self):
        try:

            #splash_timer = qt.QTimer.singleShot(1700, lambda *args:None)
            #self._splash_screen.show()
            self.gui_app.startSplashScreen()

            signal.signal(signal.SIGINT, self.ctrlC)

            #self._writeSplashMessage("Setting up remote API's...")

            model.api.devlog("Starting application...")
            model.api.devlog("Setting up remote API's...")

            model.api.setUpAPIs(self._model_controller,
                                CONF.getApiConInfoHost(),
                                CONF.getApiConInfoPort())
            model.guiapi.setUpGUIAPIs(self._model_controller)

            #self._writeSplashMessage("Starting model controller daemon...")

            model.api.devlog("Starting model controller daemon...")
            self._model_controller.start()
            model.api.startAPIServer()
            restapi.startAPIs(self._plugin_manager, self._model_controller)

            #self._writeSplashMessage("Setting up main GUI...")

            #self._writeSplashMessage("Creating default shell...")

            #self._main_window.createShellTab()

            #self._writeSplashMessage("Ready...")
            #self.logger.log("Faraday ready...")
            model.api.devlog("Faraday ready...")

            self.gui_app.stopSplashScreen()
            #self._main_window.showAll()

            logged = True

            while True:

                username, password = "******", "password"

                if username is None and password is None:
                    break
                result = self._security_manager.authenticateUser(
                    username, password)
                if result == codes.successfulLogin:
                    logged = True
                    break

            if logged:
                #self._main_window.showLoggedUser(self._security_manager.current_user.display_name)
                model.api.__current_logged_user = username

                self._workspace_manager.loadWorkspaces()

                last_workspace = CONF.getLastWorkspace()
                w = self._workspace_manager.createWorkspace(last_workspace)
                self._workspace_manager.setActiveWorkspace(w)

                self.gui_app.loadWorkspaces()

                self._workspace_manager.startReportManager()

        except Exception:

            print "There was an error while starting Faraday"
            print "-" * 50
            traceback.print_exc()
            print "-" * 50
            self.__exit(-1)

        if logged:
            exit_code = self.gui_app.run([])
            #exit_code = self.app.exec_loop()
        else:
            exit_code = -1

        return self.__exit(exit_code)
Esempio n. 11
0
 def setUpClass(cls):
     cls.model_controller = model.controller.ModelController(mock())
     plugin_repo_path = os.path.join(os.getcwd(), "plugins", "repo")
     plugin_manager = PluginManager(plugin_repo_path)
     api.startAPIs(plugin_manager, cls.model_controller)