summaryrefslogtreecommitdiff
path: root/test-flacs
diff options
context:
space:
mode:
Diffstat (limited to 'test-flacs')
-rwxr-xr-xtest-flacs60
1 files changed, 0 insertions, 60 deletions
diff --git a/test-flacs b/test-flacs
deleted file mode 100755
index 3028adc..0000000
--- a/test-flacs
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/python
-
-
-import multiprocessing
-import os
-import subprocess
-import sys
-import time
-
-
-def test_flacs(job_queue, result_queue):
- i = 0
- for filename in iter(job_queue.get, None):
- p = subprocess.Popen(['flac', '--totally-silent', '--test', filename])
- p.communicate()
- result_queue.put((filename, p.returncode == 0))
- i += 1
- if i >= 10:
- time.sleep(1)
- i = 0
-
-
-def find_files(root):
- pathnames = set()
- for dirname, subdirs, filenames in os.walk(root):
- for pathname in [os.path.join(dirname, x) for x in filenames]:
- if pathname.endswith('.flac'):
- pathnames.add(pathname)
- return pathnames
-
-
-files = find_files(sys.argv[1])
-
-job_queue = multiprocessing.Queue()
-result_queue = multiprocessing.Queue()
-for job in files:
- job_queue.put(job)
-for i in range(multiprocessing.cpu_count()):
- p = multiprocessing.Process(target=test_flacs,
- args=(job_queue, result_queue))
- p.start()
-total = len(files)
-bad = list()
-for done in range(total):
- result = result_queue.get()
- sys.stderr.write('\r%d / %d done' % (done + 1, total))
- sys.stderr.flush()
- if result:
- filename, ok = result
- if not ok:
- bad.append(filename)
-
-for i in range(multiprocessing.cpu_count()):
- job_queue.put(None)
-
-sys.stderr.write('\n')
-
-for filename in bad:
- print 'BAD:', filename
-