def extractZip(directory, zipfilename): """extract all files from zip package to directory""" if c_path.validate_dir_write(directory) and c_path.validate_file(zipfilename): zip_handler = zipfile.ZipFile(zipfilename, "r") try: zip_handler.extractall(directory) finally: zip_handler.close() else: raise RuntimeError('cannot access directory or zip file')
def zipDir(directory, zipfilename): """create zip package from files in directory""" if c_path.validate_dir_write(directory): zip_handler = zipfile.ZipFile(zipfilename, 'w') try: for root, dirs, files in os.walk(directory): for entry in files: if not entry.endswith('.zip'): logger.debug('add to zip: ' + entry) zip_handler.write(c_path.join(root, entry), entry) finally: zip_handler.close() else: raise RuntimeError('cannot write to directory: ' + str(directory))