]> git.parisson.com Git - timeside.git/commitdiff
Fix both inline and documentation doctests
authorThomas Fillon <thomas@parisson.com>
Mon, 24 Mar 2014 17:40:37 +0000 (18:40 +0100)
committerThomas Fillon <thomas@parisson.com>
Mon, 24 Mar 2014 17:40:37 +0000 (18:40 +0100)
doc/source/conf.py
doc/source/tutorial/AnalyzerResult.rst
doc/source/tutorial/quick_start.rst
timeside/decoder/file.py
timeside/decoder/utils.py

index 51eeba5d510174c8db9d4b9192d2df92ad64911e..01cfd78f17c9571a33af416f530f55af66561137 100644 (file)
@@ -29,7 +29,11 @@ sys.path.insert(0, os.path.abspath('../../'))
 extensions = ['sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.viewcode', 'sphinx.ext.autosummary', 'sphinx.ext.doctest', 'numpydoc']
 
 doctest_path = os.path.abspath('../../')
-
+doctest_global_setup = '''
+import os
+# os.getcwd() -> /doc
+wav_file = os.path.join(os.getcwd(),'../tests/samples/sweep.mp3')
+'''
 
 autodoc_default_flags = 'show-inheritance'
 autoclass_content = 'both'
index afbcd992bc53301fa55ab08fdd92352964f407e7..083c0592a3b59fa13c5db3fa04fe1fa563d8298d 100644 (file)
@@ -42,7 +42,7 @@ This default result has all the metadata and dataObject attribute
    ...
    id_metadata : {'description': '', 'author': '', 'uuid': '', 'version': '', 'date': '', 'id': '', 'unit': '', 'name': ''}
    data_object : {'value': array([], dtype=float64)}
-   audio_metadata : {'is_segment': None, 'uri': '', 'channels': None, 'start': 0, 'channelsManagement': '', 'duration': None}
+   audio_metadata : {'sha1': '', 'is_segment': None, 'uri': '', 'channels': None, 'start': 0, 'channelsManagement': '', 'duration': None}
    frame_metadata : {'blocksize': None, 'samplerate': None, 'stepsize': None}
    parameters : {}
 
index bb52627e968c29e027d1ba5729dc7d53832670d6..723dd40be34c53f699aa99eadc8bbfed45d3b153 100644 (file)
@@ -59,4 +59,4 @@ analysis and encoding:
    >>> encoders = timeside.encoder.Mp3Encoder('sweep.mp3') | timeside.encoder.FlacEncoder('sweep.flac')
    >>> (decoder | levels | encoders).run()
    >>> print levels.results
-   {'level.max': GlobalValueResult(id_metadata=IdMetadata(id='level.max', name='Level Analyzer Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-6.021])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=, sha1='...', False, channels=None, channelsManagement=''), parameters={}), 'level.rms': GlobalValueResult(id_metadata=IdMetadata(id='level.rms', name='Level Analyzer RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-9.856])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, channels=None, channelsManagement=''), parameters={})}
+   {'level.max': GlobalValueResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-6.021])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), 'level.rms': GlobalValueResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-9.856])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})}
index 3397227b5aab2664202aa22751f66e42219a3cd5..87baf6729255df399aea26719c9fc581205a5fe7 100644 (file)
@@ -82,6 +82,7 @@ class FileDecoder(Decoder):
         self.last_buffer = None
 
         if self.from_stack:
+            self._frames_iterator = iter(self.process_pipe.frames_stack)
             return
 
         if self.stack:
index cb8c4183a812b67ba4727d1a729d021230c96d04..ca801a571950d47a31c1ca115a88271ad1aa1c6d 100644 (file)
@@ -154,10 +154,14 @@ def stack(process_func):
     @functools.wraps(process_func)
     def wrapper(decoder):
         # Processing
-        frames, eod = process_func(decoder)
-        if decoder.stack:
-            decoder.process_pipe.frames_stack.append((frames, eod))
-        return frames, eod
+        if not decoder.from_stack:
+            frames, eod = process_func(decoder)
+            if decoder.stack:
+                decoder.process_pipe.frames_stack.append((frames, eod))
+            return frames, eod
+        else:
+            return decoder._frames_iterator.next()
+
     return wrapper