Browse Source

String override

develop
wpetit 2 years ago
parent
commit
110097ec81
2 changed files with 10 additions and 6 deletions
  1. +7
    -2
      lib/tamarin.py
  2. +3
    -4
      package

+ 7
- 2
lib/tamarin.py View File

@@ -52,8 +52,9 @@ def get_workspace_subdir(subdir):
def run(cmd, captureOutput=False, pty=False, debug=False, **kwargs):
"""Execute an arbitrary command on the system"""
if debug:
print(" ".join(cmd))
print(" ".join(cmd) if isinstance(cmd, list) else cmd)
stdin=subprocess.PIPE
kwargs['shell'] = False if isinstance(cmd, list) else True
if pty:
kwargs['stdin'] = sys.stdin
if captureOutput:
@@ -62,4 +63,8 @@ def run(cmd, captureOutput=False, pty=False, debug=False, **kwargs):
return subprocess.check_call(cmd, **kwargs)

def run_docker(args, captureOutput=False, **kwargs):
return run(["docker"] + args, captureOutput=captureOutput, **kwargs)
if isinstance(args, list):
cmd = ["docker"] + args
else:
cmd = "docker " + args
return run(cmd, captureOutput=captureOutput, **kwargs)

+ 3
- 4
package View File

@@ -21,7 +21,7 @@ def create_args_parser():
parser.add_argument("--rebuild", help="Ignore cache and rebuild container's image", action="store_true", default=False)
parser.add_argument("--debug", help="Will add extra output and start the container in interactive mode", action="store_true", default=False)
parser.add_argument("--cleanup", help="Clear the workspace and remove obsolete Docker images before build", action="store_true", default=False)
parser.add_argument("--override-docker-args", help="Override all 'docker run' arguments. You can use this flag multiple times to add custom arguments", default=[], action='append')
parser.add_argument("--override-docker-args", help="Override all 'docker run' arguments. Use '[IMAGE_TAG]' to insert the generated image's name.", default="")

return parser

@@ -89,9 +89,8 @@ if __name__ == "__main__":
docker_args = []

# Append custom arguments
if len(args.override_docker_args) > 0:
docker_args += args.override_docker_args
docker_args = [a.replace('[IMAGE_TAG]', image_tag) for a in docker_args]
if args.override_docker_args != "":
docker_args = args.override_docker_args.replace('[IMAGE_TAG]', image_tag)
else:

docker_args += [ "run", "--rm" ]

Loading…
Cancel
Save