def _create_command(self): """Placeholder docstring""" entrypoint_type = _entry_point_type.get(_env.code_dir, self._user_entry_point) if entrypoint_type is _entry_point_type.PYTHON_PACKAGE: entry_module = self._user_entry_point.replace(".py", "") return self._python_command() + ["-m", entry_module] + self._args elif entrypoint_type is _entry_point_type.PYTHON_PROGRAM: return self._python_command() + [self._user_entry_point] + self._args else: args = [ six.moves.shlex_quote(arg) # pylint: disable=too-many-function-args for arg in self._args ] return ["/bin/sh", "-c", "./%s %s" % (self._user_entry_point, " ".join(args))]
def _create_command(self): entrypoint_type = _entry_point_type.get(_env.code_dir, self._user_entry_point) if entrypoint_type is _entry_point_type.PYTHON_PACKAGE: entry_module = self._user_entry_point.replace('.py', '') return self._python_command() + ['-m', entry_module] + self._args elif entrypoint_type is _entry_point_type.PYTHON_PROGRAM: return self._python_command() + [self._user_entry_point ] + self._args else: return [ '/bin/sh', '-c', './%s %s' % (self._user_entry_point, ' '.join(self._args)) ]
def _create_command(self): """Placeholder docstring""" entrypoint_type = _entry_point_type.get(_env.code_dir, self._user_entry_point) if entrypoint_type is _entry_point_type.PYTHON_PACKAGE: entry_module = self._user_entry_point.replace(".py", "") return self._python_command() + ["-m", entry_module] + self._args elif entrypoint_type is _entry_point_type.PYTHON_PROGRAM: return self._python_command() + [self._user_entry_point ] + self._args else: return [ "/bin/sh", "-c", "./%s %s" % (self._user_entry_point, " ".join(self._args)) ]
def install(name, dst, capture_error=False): """Install the user provided entry point to be executed as follow: - add the path to sys path - if the user entry point is a command, gives exec permissions to the script Args: name (str): name of the script or module. dst (str): path to directory with the script or module. capture_error (bool): Default false. If True, the running process captures the stderr, and appends it to the returned Exception message in case of errors. """ if dst not in sys.path: sys.path.insert(0, dst) entrypoint_type = _entry_point_type.get(dst, name) if entrypoint_type is _entry_point_type.PYTHON_PACKAGE: _modules.install(dst, capture_error) if entrypoint_type is _entry_point_type.COMMAND: os.chmod(os.path.join(dst, name), 511)
def test_get_program(): assert _entry_point_type.get( "bla", "program.py") == _entry_point_type.PYTHON_PROGRAM
def test_get_command(entry_point_type_script): assert _entry_point_type.get("bla", "program.sh") == _entry_point_type.COMMAND
def test_get_package(entry_point_type_module): assert _entry_point_type.get( "bla", "program.py") == _entry_point_type.PYTHON_PACKAGE
def test_get_program(): assert _entry_point_type.get('bla', 'program.py') == _entry_point_type.PYTHON_PROGRAM
def test_get_command(entry_point_type_script): assert _entry_point_type.get('bla', 'program.sh') == _entry_point_type.COMMAND
def test_get_package(entry_point_type_module): assert _entry_point_type.get('bla', 'program.py') == _entry_point_type.PYTHON_PACKAGE