Esempio n. 1
0
def main():
    args = _init_args()
    _patch_argparse(args.output_path)
    # Importing module has the side-effect of writing flag data due to
    # patched argparse.
    base_args = util.shlex_split(args.base_args)
    _exec_module(args.mod_path, args.package, base_args)
Esempio n. 2
0
def _diff(path1, path2, args):
    cmd_base = util.shlex_split(_diff_cmd(args))
    cmd = cmd_base + [path1, path2]
    log.debug("diff cmd: %r", cmd)
    try:
        subprocess.call(cmd)
    except OSError as e:
        cli.error("error running '%s': %s" % (" ".join(cmd), e))
Esempio n. 3
0
def _diff(run1, run2, args):
    cmd_base = util.shlex_split(_diff_cmd(args))
    for path in _diff_paths(args):
        dir1 = os.path.join(run1.path, path)
        dir2 = os.path.join(run2.path, path)
        cmd = cmd_base + [dir1, dir2]
        log.debug("diff cmd: %r", cmd)
        subprocess.call(cmd)
Esempio n. 4
0
def _apply_source_script_function_to_part(part, fun_name, fun):
    m = re.match(r"\$\(%s (.*?)\)" % fun_name, part)
    if m is None:
        return part
    args = util.shlex_split(m.group(1))
    fun, extra_args = fun
    log.debug("Applying %s to %s", fun_name, args)
    return fun(*(args + extra_args))
Esempio n. 5
0
def _split_rename_spec(spec):
    parts = util.shlex_split(spec)
    if len(parts) == 2:
        return parts
    elif len(parts) == 1:
        return ".*", parts[0]
    else:
        raise ResourceFormatError(
            "invalid rename spec %r: expected 'PATTERN REPL' or 'NAME'" % spec)
Esempio n. 6
0
def _opref_parse(encoded):
    """Parses encoded opref.

    Format: PKG_TYPE_AND_NAME PKG_VER MODEL_NAME OP_NAME

    See _opref_for_string for parsing a user-provided value.
    """
    parts = util.shlex_split(encoded)
    if len(parts) != 4:
        raise OpRefError(encoded)
    pkg_type_and_name, pkg_ver, model_name, op_name = parts
    pkg_type, pkg_name = _split_pkg_type_and_name(pkg_type_and_name, encoded)
    return OpRef(pkg_type, pkg_name, pkg_ver, model_name, op_name)
Esempio n. 7
0
 def _parse_run(self, data):
     from guild.commands.run import run as run_cmd
     run_spec = data.get("run", "").strip()
     if not run_spec:
         _error("invalid step %r: must define run" % data)
     args = util.shlex_split(run_spec)
     try:
         ctx = run_cmd.make_context("run", args)
     except click.exceptions.ClickException as e:
         _error("invalid run spec %r: %s" % (run_spec, e))
     else:
         self._apply_data_params(data, ctx, run_spec)
         return ctx.params
Esempio n. 8
0
def _pdb_commands(module_info):
    try:
        encoded_breaks = os.environ["PDB_BREAKS"]
    except KeyError:
        return []
    else:
        unresolved_breaks = util.shlex_split(encoded_breaks)
        commands = [
            _pdb_break_cmd(_resolve_break(b, module_info))
            for b in unresolved_breaks
        ]
        commands.append(_pdb_continue_cmd())
        return commands
Esempio n. 9
0
def _decode_dask_resources(encoded, quiet=False):
    from guild import op_util

    args = util.shlex_split(encoded)
    try:
        return op_util.parse_flag_assigns(args)
    except op_util.ArgValueError:
        if not quiet:
            log.warning(
                "Ignoring invalid dask resources spec %r: parts must be in "
                "format KEY=VAL",
                encoded,
            )
        return {}
Esempio n. 10
0
def split_cmd(cmd):
    if isinstance(cmd, list):
        return cmd
    return util.shlex_split(cmd or "")
Esempio n. 11
0
def _split_rename_spec(spec):
    parts = util.shlex_split(spec)
    if len(parts) != 2:
        raise ResourceFormatError(
            "invalid rename spec %r: expected 'PATTERN REPL'" % spec)
    return parts
Esempio n. 12
0
def split_encoded_flag_val(encoded, split_spec):
    if split_spec is True or split_spec == "shlex":
        return util.shlex_split(encoded)
    else:
        return _string_split(encoded, split_spec)
Esempio n. 13
0
def _tags_not_in_label(tags, label):
    if not tags:
        return []
    label_parts = util.shlex_split(label)
    return [tag for tag in tags if tag not in label_parts]
Esempio n. 14
0
def _run_shell_win_cmd(cmd):
    cmd_norm_paths = cmd.replace(os.path.sep, "/")
    parts = util.shlex_split(cmd_norm_paths)
    _apply_guild_cmd_for_win(parts)
    return parts
Esempio n. 15
0
def _gpg_cmd():
    gpg_env = os.getenv("GPG_CMD")
    if gpg_env:
        return util.shlex_split(gpg_env)
    return ["gpg", "-d"]
Esempio n. 16
0
def split_main(main):
    if isinstance(main, list):
        return main
    return util.shlex_split(main or "")
Esempio n. 17
0
def _nbexec_notebook_path(opdef):
    argv = util.shlex_split(opdef.main)
    assert argv and argv[0] == "guild.plugins.nbexec", (opdef.main, argv)
    if len(argv) > 1:
        return os.path.join(opdef.guildfile.dir, argv[1])
    return None