summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorJoffrey F <f.joffrey@gmail.com>2015-12-08 12:19:11 -0800
committerJoffrey F <f.joffrey@gmail.com>2015-12-08 12:19:11 -0800
commitbb1ab12f54d196930ff981e77497f00977c6db81 (patch)
tree491bf2460105591b9f314e050e48a241ea32a947 /docker
parent28864df27b2cf289478d5fa9d5ca27a9f0daa9a8 (diff)
parentadb3635378bc1cf8654444653ed6f2f9a6f0b6b8 (diff)
downloaddocker-py-bb1ab12f54d196930ff981e77497f00977c6db81.tar.gz
Merge pull request #865 from dlorenc/master
Allow utils.tar to take an existing file object.
Diffstat (limited to 'docker')
-rw-r--r--docker/utils/utils.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py
index 9c4bb47..3faf484 100644
--- a/docker/utils/utils.py
+++ b/docker/utils/utils.py
@@ -74,9 +74,10 @@ def decode_json_header(header):
return json.loads(data)
-def tar(path, exclude=None, dockerfile=None):
- f = tempfile.NamedTemporaryFile()
- t = tarfile.open(mode='w', fileobj=f)
+def tar(path, exclude=None, dockerfile=None, fileobj=None):
+ if not fileobj:
+ fileobj = tempfile.NamedTemporaryFile()
+ t = tarfile.open(mode='w', fileobj=fileobj)
root = os.path.abspath(path)
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.close()
- f.seek(0)
- return f
+ fileobj.seek(0)
+ return fileobj
def exclude_paths(root, patterns, dockerfile=None):