[tests] add parse_file_samplerate to fetch samplerate from path
[aubio.git] / python / tests / utils.py
index ee73e00..4b41488 100644 (file)
@@ -1,6 +1,7 @@
 #! /usr/bin/env python
 
 import os
+import re
 import glob
 import numpy as np
 from tempfile import mkstemp
@@ -36,6 +37,7 @@ def del_tmp_sink_path(path):
         os.unlink(path)
     except WindowsError as e:
         # removing the temporary directory sometimes fails on windows
+        import warnings
         errmsg = "failed deleting temporary file {:s} ({:s})"
         warnings.warn(UserWarning(errmsg.format(path, repr(e))))
 
@@ -76,3 +78,16 @@ def count_files_in_directory(samples_dir):
                 if file_path:
                     total_files += 1
     return total_files
+
+def parse_file_samplerate(soundfile):
+    samplerate = None
+    # parse samplerate
+    re_sr = re.compile(r'/([0-9]{4,})Hz_.*')
+    match_samplerate = re_sr.findall(soundfile)
+    if match_samplerate:
+        samplerate = int(match_samplerate[0])
+    else:
+        import warnings
+        warnings.warn(UserWarning("could not parse samplerate for {:s}"
+            .format(soundfile)))
+    return samplerate