Fix the docker image name generation

make sure all the parts that constitute the generated docker image name
are escaped, otherwise the docker building process can fail (with a rather
hard to understand error).

Before this fix, the `provider.content_id` was not escaped.
pull/988/head
David Douard 2020-11-24 18:19:42 +01:00
rodzic a0606f2b57
commit 983607fed7
1 zmienionych plików z 7 dodań i 8 usunięć

15
repo2docker/app.py 100755 → 100644
Wyświetl plik

@ -401,20 +401,19 @@ class Repo2Docker(Application):
self.log.info(log_line, extra=dict(phase="fetching"))
if not self.output_image_spec:
self.output_image_spec = (
"r2d" + escapism.escape(self.repo, escape_char="-").lower()
)
image_spec = "r2d" + self.repo
# if we are building from a subdirectory include that in the
# image name so we can tell builds from different sub-directories
# apart.
if self.subdir:
self.output_image_spec += escapism.escape(
self.subdir, escape_char="-"
).lower()
image_spec += self.subdir
if picked_content_provider.content_id is not None:
self.output_image_spec += picked_content_provider.content_id
image_spec += picked_content_provider.content_id
else:
self.output_image_spec += str(int(time.time()))
image_spec += str(int(time.time()))
self.output_image_spec = escapism.escape(
image_spec, escape_char="-"
).lower()
def json_excepthook(self, etype, evalue, traceback):
"""Called on an uncaught exception when using json logging