From 5bb4a2ac95befe6959ea6374d91a1858b7419789 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Jul 27 2020 06:02:52 +0000 Subject: Make compose comparison Python 2 compatible. --- diff --git a/cccc/compose.py b/cccc/compose.py index 28b0580..8776839 100644 --- a/cccc/compose.py +++ b/cccc/compose.py @@ -5,6 +5,7 @@ import dateutil.parser import json import os import tempfile +import shutil import odcs.client.odcs @@ -150,25 +151,31 @@ def compare_composes(conf, old, new): old_compose = ComposeData(old) new_compose = ComposeData(new) - output_dirobj = tempfile.TemporaryDirectory() - output_dir = output_dirobj.name - - cmd = [ - "compose-diff-rpms", - "--old", - old_compose.dirname(), - "--new", - new_compose.dirname(), - "--outputdir", - output_dir, - ] - cccc.utils.execute_cmd(cmd) + output_dir = None + try: + output_dir = tempfile.mkdtemp() + + cmd = [ + "compose-diff-rpms", + "--old", + old_compose.dirname(), + "--new", + new_compose.dirname(), + "--outputdir", + output_dir, + ] + cccc.utils.execute_cmd(cmd) - # send compare log to output - compare_file = os.path.join(output_dir, "diff-rpms-diff.log") - with open(compare_file, "r") as f: - for line in f: - print("%s" % line.rstrip()) + # send compare log to output + compare_file = os.path.join(output_dir, "diff-rpms-diff.log") + with open(compare_file, "r") as f: + for line in f: + print("%s" % line.rstrip()) + finally: + if output_dir is not None: + shutil.rmtree(output_dir) + shutil.rmtree(old_compose.dirname()) + shutil.rmtree(new_compose.dirname()) class ComposeData(object): @@ -184,7 +191,7 @@ class ComposeData(object): :param compose_url: URL location of compose. :type compose_url: str """ - self.compose_data_dirobj = tempfile.TemporaryDirectory() + self.compose_data_dir = tempfile.mkdtemp() metadata_dirname = os.path.join(self.dirname(), "metadata") os.mkdir(metadata_dirname) @@ -207,4 +214,4 @@ class ComposeData(object): :return: Directory path. :rtype: str """ - return self.compose_data_dirobj.name + return self.compose_data_dir