def finedecompress(name, verbose): Logger.log("FineDecompress "+name) audacity_data = File.datadirectoryFromName(name) verbose_arg = "v" if verbose else "" filelist = File.allFiles(audacity_data) if any(s.endswith(".au") for s in filelist): raise LogicError("existing .au file found during decompress") Logger.log("Decompressing files") for compressedfile in filter(lambda x: x.endswith(".bz2"), filelist): Logger.log("Decompress "+compressedfile) output = subprocess.check_output(["bzip2", "-dk"+verbose_arg, compressedfile])
def decompress(name, verbose, keep = False): Logger.log("Decompress "+name) archive = File.archiveFromName(name) audacity_data = File.datadirectoryFromName(name) verbose_arg = "v" if verbose else "" if os.path.isfile(archive) == False: raise LogicError("audio archive " + archive + " does not exist.") if os.path.isdir(audacity_data): raise LogicError("audio data directory " + audacity_data + " does already exist. Will not overwrite existing files.") Logger.log(" Decompressing") output = subprocess.check_output(["tar", "-xj"+verbose_arg+"f", archive, audacity_data]) Logger.log(output) if keep is False: Logger.log(" Deleting old data") os.remove(archive)
def finecompress(name, verbose): Logger.log("FineCompress "+name) audacity_data = File.datadirectoryFromName(name) verbose_arg = "v" if verbose else "" Logger.log("Deleting .bz2 files with no matching .au files") for compressedfile in filter(lambda x: x.endswith(".bz2"), File.allFiles(audacity_data)): audiofile = os.path.splitext(compressedfile)[0] if not os.path.exists(audiofile): Logger.log(compressedfile + " should match " + audiofile + " but does not exist anymore. Deleting.") os.remove(compressedfile) Logger.log("Compressing modified audio files") for audiofile in filter(lambda x: x.endswith(".au"), File.allFiles(audacity_data)): compressedfile=audiofile+".bz2" if not os.path.exists(compressedfile) or File.fileModificationTimestamp(audiofile) > File.fileModificationTimestamp(compressedfile): Logger.log("Compress "+audiofile) output = subprocess.check_output(["bzip2", "-zf"+verbose_arg, audiofile]) else: os.remove(audiofile)