def parse_input_args_from_other_instance(self, msg):
        options_re = re.compile(r"^(\[('([^'])*', ?)*'([^']*)'\])|(\[\s?\])$")
        if options_re.match(msg):
            #it's safe to eval as a list
            args = literal_eval(msg)
            if isinstance(args, list):
                try:
                    conf_options = self.read_options(args)
                except __HOLE__:
                    debug.critical("Invalid options: %s" % ' '.join(args))
                    return False
                try:
                    # Execute using persistent configuration + new temp configuration
                    old_temp_conf = self.temp_configuration
                    self.startup.temp_configuration = copy.copy(self.configuration)
                    self.temp_configuration.update(conf_options)

                    interactive = not self.temp_configuration.check('batch')
                    if interactive:
                        result = self.process_interactive_input()
                        if self.temp_configuration.showWindow:
                            # in some systems (Linux and Tiger) we need to make both calls
                            # so builderWindow is activated
                            self.builderWindow.raise_()
                            self.builderWindow.activateWindow()
                        return result
                    else:
                        return self.noninteractiveMode()
                finally:
                    self.startup.temp_configuration = old_temp_conf
            else:
                debug.critical("Invalid string: %s" % msg)
        else:
            debug.critical("Invalid input: %s" % msg)
        return False
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/gui/application.py/VistrailsApplicationSingleton.parse_input_args_from_other_instance