| 121 | |
| 122 | |
| 123 | def mkbuildcontext(dockerfile): |
| 124 | f = tempfile.NamedTemporaryFile() |
| 125 | t = tarfile.open(mode='w', fileobj=f) |
| 126 | if isinstance(dockerfile, io.StringIO): |
| 127 | dfinfo = tarfile.TarInfo('Dockerfile') |
| 128 | raise TypeError('Please use io.BytesIO to create in-memory ' |
| 129 | 'Dockerfiles with Python 3') |
| 130 | elif isinstance(dockerfile, io.BytesIO): |
| 131 | dfinfo = tarfile.TarInfo('Dockerfile') |
| 132 | dfinfo.size = len(dockerfile.getvalue()) |
| 133 | dockerfile.seek(0) |
| 134 | else: |
| 135 | dfinfo = t.gettarinfo(fileobj=dockerfile, arcname='Dockerfile') |
| 136 | t.addfile(dfinfo, dockerfile) |
| 137 | t.close() |
| 138 | f.seek(0) |
| 139 | return f |
| 140 | |
| 141 | |
| 142 | def split_path(p): |