Exemplo n.º 1
0
    def buildDriverFromRepositoryName(self, repositoryName: str) -> None:
        """Build the driver object in the worker from this repository name.

        The repository must be globally defined in the rascal."""

        cls_repository = runtime.rascal.get(repositoryName, [Repository])
        repository = loadRepository(cls_repository)
        self.driver = repository.fw_getDriver()
        self.repositoryName = repositoryName
        runtime.ui.info("driver %s ready!" % self.driver.getClassName())
Exemplo n.º 2
0
    def buildDriverFromRepositoryName(self, repositoryName: str) -> None:
        """Build the driver object in the worker from this repository name.

        The repository must be globally defined in the rascal."""

        cls_repository = runtime.rascal.get(repositoryName, [Repository])
        repository = loadRepository(cls_repository)
        self.driver = repository.fw_getDriver()
        self.repositoryName = repositoryName
        runtime.ui.info("driver %s ready!"% self.driver.getClassName())
Exemplo n.º 3
0
    def buildDriverFromRepositoryName(self, repositoryName: str,
            reuse: bool=False) -> None:
        """Build the driver object in the worker from this repository name.

        The repository must be globally defined in the rascal."""

        if reuse is True and self.driver is not None:
            return None

        cls_repository = runtime.rascal.get(repositoryName, [Repository])
        repository = loadRepository(cls_repository)
        self._buildDriver(repository)
Exemplo n.º 4
0
    def buildDriverFromRepositoryName(self,
                                      repositoryName: str,
                                      reuse: bool = False) -> None:
        """Build the driver object in the worker from this repository name.

        The repository must be globally defined in the rascal."""

        if reuse is True and self.driver is not None:
            return None

        cls_repository = runtime.rascal.get(repositoryName, [Repository])
        repository = loadRepository(cls_repository)
        self._buildDriver(repository)
Exemplo n.º 5
0
    def beforeSession(self) -> None:
        import inspect

        from imapfw.runners.driver import DriverRunner
        from imapfw.types.repository import loadRepository
        from imapfw.architects import DriverArchitect
        from imapfw.edmp import SyncEmitter

        self.repository = loadRepository(self.conf.get('repository'))
        repositoryName = self.repository.getClassName()
        self.driverArchitect = DriverArchitect("%s.Driver" % repositoryName)
        self.driverArchitect.init()
        self.driverArchitect.start()
        self.driverArch = self.driverArchitect

        self.driver = self.driverArchitect.getEmitter()
        self.d = SyncEmitter(self.driver)
        self.buildDriver()

        self.register('repository')
        self.register('driverArch')
        self.register('driver')
        self.register('d')

        # Setup banner.
        events = []
        for name, method in inspect.getmembers(DriverRunner,
                                               inspect.isfunction):
            if name.startswith('_') or name == 'run':
                continue
            events.append("- d.%s%s\n%s\n" %
                          (name, inspect.signature(method), method.__doc__))
        self.dict_events = events
        self.events = self._events
        self.register('events')

        banner = """
Welcome to the shell! The driver is running in a worker. Take control of it with
the pre-configured emitter. It is available from both the "driver" and
"d" variables.  "d" will send any event in sync mode.  Ctrl+D: quit

Available commands:
- events(): print available events for the driver.

Example:
>>> d.help()

The driver was already built in the default beforeSession() method of this shell.
"""
        self.setBanner(banner)
Exemplo n.º 6
0
    def beforeSession(self) -> None:
        import inspect

        from imapfw.runners.driver import DriverRunner
        from imapfw.types.repository import loadRepository
        from imapfw.architects import DriverArchitect
        from imapfw.edmp import SyncEmitter

        self.repository = loadRepository(self.conf.get('repository'))
        repositoryName = self.repository.getClassName()
        self.driverArchitect = DriverArchitect("%s.Driver"% repositoryName)
        self.driverArchitect.init()
        self.driverArchitect.start()
        self.driverArch = self.driverArchitect

        self.driver = self.driverArchitect.getEmitter()
        self.d = SyncEmitter(self.driver)
        self.buildDriver()

        self.register('repository')
        self.register('driverArch')
        self.register('driver')
        self.register('d')

        # Setup banner.
        events = []
        for name, method in inspect.getmembers(DriverRunner,
                inspect.isfunction):
            if name.startswith('_') or name == 'run':
                continue
            events.append("- d.%s%s\n%s\n"%
                (name, inspect.signature(method), method.__doc__))
        self.dict_events = events
        self.events = self._events
        self.register('events')

        banner = """
Welcome to the shell! The driver is running in a worker. Take control of it with
the pre-configured emitter. It is available from both the "driver" and
"d" variables.  "d" will send any event in sync mode.  Ctrl+D: quit

Available commands:
- events(): print available events for the driver.

Example:
>>> d.help()

The driver was already built in the default beforeSession() method of this shell.
"""
        self.setBanner(banner)
Exemplo n.º 7
0
    def buildDriverFromRepositoryName(self,
                                      repositoryName: str,
                                      reuse: bool = False) -> None:
        """Build the driver object in the worker from this repository name.

        The repository must be globally defined in the rascal."""

        if reuse is True and self.driver is not None:
            return None

        self._clear()

        self.repositoryName = repositoryName
        # Build the driver.
        cls_repository = runtime.rascal.get(repositoryName, [Repository])
        repository = loadRepository(cls_repository)
        self.driver = repository.fw_getDriver()
        self._driverAccept()
        self._debugBuild()
        self._info("driver ready!")
Exemplo n.º 8
0
    def beforeSession(self) -> None:
        import inspect

        from imapfw.runners.driver import DriverRunner
        from imapfw.types.repository import loadRepository
        from imapfw.architects import DriverArchitect
        from imapfw.edmp import SyncEmitter

        self.repository = loadRepository(self.conf.get("repository"))
        repositoryName = self.repository.getClassName()
        self.driverArchitect = DriverArchitect("%s.Driver" % repositoryName)
        self.driverArchitect.init()
        self.driverArchitect.start()

        self.driver = self.driverArchitect.getEmitter()
        self.d = SyncEmitter(self.driver)
        self.register("driver")
        self.register("d")

        # Setup banner.
        events = []
        for name, method in inspect.getmembers(DriverRunner, inspect.isfunction):
            if name.startswith("_") or name == "run":
                continue
            events.append("- d.%s%s\n%s\n" % (name, inspect.signature(method), method.__doc__))
        self.dict_events = events
        self.events = self._events
        self.register("events")

        banner = """
Welcome to the shell. The driver is started in a worker. Take control of if with "driver" or "d".
"d" will send any event in sync mode.  Ctrl+D: quit

Available commands:
- events(): print available events for the driver.

Notice the driver is already built with the default beforeSession() method."""

        self.setBanner(banner)
Exemplo n.º 9
0
 def fw_getRight(self) -> Repository:
     return loadRepository(self.right)
Exemplo n.º 10
0
 def fw_getLeft(self) -> Repository:
     return loadRepository(self.left)
Exemplo n.º 11
0
 def fw_getRight(self) -> Repository:
     return loadRepository(self.right)
Exemplo n.º 12
0
 def fw_getLeft(self) -> Repository:
     return loadRepository(self.left)
Exemplo n.º 13
0
 def buildDriverFromRepositoryName(self, repositoryName: str) -> None:
     cls_repository = runtime.rascal.get(repositoryName, [Repository])
     repository = loadRepository(cls_repository)
     self._driver = repository.fw_getDriver()
     runtime.ui.info("driver %s ready!"% self._driver.getClassName())