X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fcommon%2Fpackage_tool.py;h=19b1386511a317dfb1b6819d56cd82fd99d15bb5;hb=refs%2Fchanges%2F99%2F8999%2F4;hp=203806eb90cbdda502976af583ac00e0118e9436;hpb=b9c74d9f6c0c2ebc0b53064bffad625d3fa42d0f;p=osm%2Fosmclient.git diff --git a/osmclient/common/package_tool.py b/osmclient/common/package_tool.py index 203806e..19b1386 100644 --- a/osmclient/common/package_tool.py +++ b/osmclient/common/package_tool.py @@ -150,7 +150,7 @@ class PackageTool(object): :returns: None """ self._logger.debug("") - files = [f for f in glob.glob(package_folder + "/**/*.*", recursive=True)] + files = [f for f in glob.glob(package_folder + "/**/*.*", recursive=True) if os.path.isfile(f)] with open("{}/checksums.txt".format(package_folder), "w+") as checksum: for file_item in files: if "checksums.txt" in file_item: @@ -289,7 +289,7 @@ class PackageTool(object): if os.path.isdir('{}/charms/layers/{}'.format(package_folder,charmName)): print('Building charm {}/charms/layers/{}'.format(package_folder, charmName)) self.charm_build(package_folder, charmName) - print('Charm built {}'.format(charmName)) + print('Charm built: {}'.format(charmName)) else: if not os.path.isdir('{}/charms/{}'.format(package_folder,charmName)): raise ClientException ('The charm: {} referenced in the descriptor file ' @@ -370,22 +370,24 @@ class PackageTool(object): with tarfile.open("{}.tar.gz".format(package_name), mode='w:gz') as archive: print("Adding File: {}".format(package_name)) archive.add('{}'.format(package_name), recursive=True) - #return "Created {}.tar.gz".format(package_folder) - #self.build("{}".format(os.path.basename(package_folder))) + # return "Created {}.tar.gz".format(package_folder) + # self.build("{}".format(os.path.basename(package_folder))) os.chdir(cwd) + cwd = None + created_package = "{}/{}.tar.gz".format(os.path.dirname(package_folder) or '.', package_name) + os.rename("{}/{}.tar.gz".format(directory_name, package_name), + created_package) + os.rename("{}/{}/checksums.txt".format(directory_name, package_name), + "{}/checksums.txt".format(package_folder)) + print("Package created: {}".format(created_package)) + return created_package except Exception as exc: + raise ClientException('failure during build of targz file (create temp dir, calculate checksum, ' + 'tar.gz file): {}'.format(exc)) + finally: if cwd: os.chdir(cwd) shutil.rmtree(os.path.join(package_folder, "tmp")) - raise ClientException('failure during build of targz file (create temp dir, calculate checksum, tar.gz file): {}'.format(exc)) - created_package = "{}/{}.tar.gz".format(package_folder, package_name) - os.rename("{}/{}.tar.gz".format(directory_name, package_name), - created_package) - os.rename("{}/{}/checksums.txt".format(directory_name, package_name), - "{}/checksums.txt".format(package_folder)) - shutil.rmtree(os.path.join(package_folder, "tmp")) - print("Package created: {}".format(created_package)) - return created_package def create_temp_dir(self, package_folder, charm_list=None): """