[game-data-packager] 01/01: make_template: compare ffmpeg result against metaflac value
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Sat Apr 25 13:11:27 UTC 2015
This is an automated email from the git hooks/post-receive script.
detiste-guest pushed a commit to branch master
in repository game-data-packager.
commit 58cc51120d875beaaf34740ceab750a1df442475
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Sat Apr 25 15:10:49 2015 +0200
make_template: compare ffmpeg result against metaflac value
---
game_data_packager/make_template.py | 50 ++++++++++++++++++++++++++-----------
1 file changed, 36 insertions(+), 14 deletions(-)
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index d7d98e6..12e7ea9 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -367,22 +367,44 @@ def do_flacsums(destdir, lower):
elif which('avconv'): tool = 'avconv'
else:
exit('Install either ffmpeg or avconv')
+ if not which('metaflac'):
+ exit('Install metaflac')
+
+ fla_or_flac = '.fla'
+ md5s = dict()
+ done_wav = 0
+ done_flac = 0
+ for filename in glob.glob(os.path.join(destdir, '*')):
+ file = os.path.basename(filename).lower()
+ file, ext = os.path.splitext(file)
+ if ext == '.wav':
+ md5 = subprocess.check_output([tool, '-i', filename, '-f', 'md5', '-'],
+ stderr=subprocess.DEVNULL,
+ universal_newlines=True)
+ md5 = md5.rstrip().split('=')[1]
+ assert file not in md5s or md5s[file] == md5, \
+ "got differents md5's for %s.wav|flac" % file
+ md5s[file] = md5
+ done_wav += 1
+ if ext == '.flac':
+ fla_or_flac = '.flac'
+ if ext in ('.fla','.flac'):
+ md5 = subprocess.check_output(['metaflac', '--show-md5sum', filename],
+ universal_newlines=True)
+ md5 = md5.rstrip()
+ assert file not in md5s or md5s[file] == md5, \
+ "got differents md5's for %s.wav|flac" % file
+ md5s[file] = md5
+ done_flac += 1
+
+ if not md5s:
+ exit("Couldn' find any .wav or .flac file")
print('flacsums: |')
- for filename in sorted(glob.glob(os.path.join(destdir, '*.wav')) +
- glob.glob(os.path.join(destdir, '*.WAV'))):
- md5 = subprocess.check_output([tool, '-i', filename, '-f', 'md5', '-'],
- stderr=subprocess.DEVNULL,
- universal_newlines=True)
- md5 = md5.rstrip()
- md5 = md5.split('=')[1]
- filename = os.path.basename(filename)
- if lower:
- filename = filename.lower()
- file, ext = os.path.splitext(filename)
- if ext == '.wav': ext = '.flac'
- if ext == '.WAV': ext = '.FLAC'
- print(' %s %s' % (md5, file + ext))
+ for file in sorted(md5s.keys()):
+ print(' %s %s' % (md5s[file], file + fla_or_flac))
+
+ print("\n#processed %i .wav and %i .fla[c] files" % (done_wav, done_flac))
def main():
parser = argparse.ArgumentParser(
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list