Exemple #1
0
def main(argv):
    # Parse the command line options
    usage = '%prog [options] DIR'
    parser = optparse.OptionParser(usage=usage)
    (options, args) = parser.parse_args(argv[1:])

    if not args:
        parser.print_help(sys.stderr)
        print >> sys.stderr, 'no directory specified'
        return 1
    elif len(args) > 1:
        parser.print_help(sys.stderr)
        print >> sys.stderr, 'trailing arguments: %s' % (args[1:],)
        return 1

    dir = archive.AlbumDir(args[0])

    # Load the metadata
    f = open(dir.layout.getMetadataInfoPath(), 'r')
    dir.album.readTracks(f)
    f.close()

    flac_dir = dir.layout.getFlacDir()
    suffix = '.flac'
    info_list = archive.util.find_track_files(flac_dir, suffix, dir.album)
    for info in info_list:
        print info.path
        flac.tag_file(info.path, info.metadata)
Exemple #2
0
        with open(dir.layout.getMetadataInfoPath(), 'r') as f:
            dir.album.readTracks(f)

        info_list = archive.util.find_track_files(dir.layout.getWavDir(),
                                                  '.wav', dir.album)
    else:
        wav_files = file_util.find_files_by_suffix(dir.layout.getWavDir(),
                                                   '.wav')
        info_list = [archive.util.FileInfo(path, None)
                     for path in sorted(wav_files)]

    flac_dir = dir.layout.getFlacDir()
    try:
        os.makedirs(flac_dir)
    except OSError, ex:
        if ex.errno != errno.EEXIST:
            raise

    for info in info_list:
        wav_path = info.path
        (base, suffix) = os.path.splitext(os.path.basename(wav_path))
        assert suffix == '.wav'
        flac_path = os.path.join(flac_dir, base + '.flac')
        flac_encode(wav_path, flac_path)
        if info.metadata is not None:
            flac.tag_file(flac_path, info.metadata)


if __name__ == '__main__':
    sys.exit(main(sys.argv))