Allow utils.tar to take an existing file object.

Signed-off-by: dlorenc <lorenc.d@gmail.com>
This commit is contained in:
dlorenc 2015-11-30 14:51:26 -08:00
parent d51d06d209
commit adb3635378
1 changed files with 6 additions and 5 deletions

View File

@ -74,9 +74,10 @@ def decode_json_header(header):
return json.loads(data) return json.loads(data)
def tar(path, exclude=None, dockerfile=None): def tar(path, exclude=None, dockerfile=None, fileobj=None):
f = tempfile.NamedTemporaryFile() if not fileobj:
t = tarfile.open(mode='w', fileobj=f) fileobj = tempfile.NamedTemporaryFile()
t = tarfile.open(mode='w', fileobj=fileobj)
root = os.path.abspath(path) root = os.path.abspath(path)
exclude = exclude or [] exclude = exclude or []
@ -85,8 +86,8 @@ def tar(path, exclude=None, dockerfile=None):
t.add(os.path.join(root, path), arcname=path, recursive=False) t.add(os.path.join(root, path), arcname=path, recursive=False)
t.close() t.close()
f.seek(0) fileobj.seek(0)
return f return fileobj
def exclude_paths(root, patterns, dockerfile=None): def exclude_paths(root, patterns, dockerfile=None):