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)
 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])