Mercurial > hg > auditok
changeset 272:eb77a08a608a
Refactor TokenizerWorker
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Mon, 16 Sep 2019 20:13:33 +0200 |
parents | dbb12345a19f |
children | fe8d97a97ea5 |
files | auditok/cmdline.py auditok/workers.py |
diffstat | 2 files changed, 13 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/auditok/cmdline.py Sun Sep 15 18:13:07 2019 +0100 +++ b/auditok/cmdline.py Mon Sep 16 20:13:33 2019 +0200 @@ -400,7 +400,7 @@ ) detections = ( (det.start, det.end) - for det in tokenizer_worker.audio_regions + for det in tokenizer_worker.detections ) plot_detections( record, @@ -413,4 +413,4 @@ if __name__ == "__main__": - sys.exit(main(None)) + sys.exit(main(None)) \ No newline at end of file
--- a/auditok/workers.py Sun Sep 15 18:13:07 2019 +0100 +++ b/auditok/workers.py Mon Sep 16 20:13:33 2019 +0200 @@ -23,7 +23,7 @@ from . import cmdline_util _STOP_PROCESSING = "STOP_PROCESSING" -_AudioRegionMeta = namedtuple("_AudioRegionMeta", "id start end duration") +_Detection = namedtuple("_Detection", "id start end duration") class EndOfProcessing(Exception): @@ -101,14 +101,14 @@ self._observers = observers if observers is not None else [] self._reader = reader self._audio_region_gen = split(self, **kwargs) - self._audio_regions = [] - self._log_format = "[DET]: Detection {id} (start: {start:.3f}, " - self._log_format = "end: {end:.3f}, duration: {duration:.3f})" - Worker.__init__(self, timeout=0.5, logger=logger) + self._detections = [] + self._log_format = "[DET]: Detection {0.id} (start: {0.start:.3f}, " + self._log_format += "end: {0.end:.3f}, duration: {0.duration:.3f})" + Worker.__init__(self, timeout=0.2, logger=logger) @property - def audio_regions(self): - return self._audio_regions + def detections(self): + return self._detections def _notify_observers(self, message): for observer in self._observers: @@ -124,34 +124,20 @@ self._reader.open() self._init_start_processing_timestamp() for _id, audio_region in enumerate(self._audio_region_gen, start=1): - ar_meta = _AudioRegionMeta( + detection = _Detection( _id, audio_region.meta.start, audio_region.meta.end, audio_region.duration, ) - self._audio_regions.append(ar_meta) + self._detections.append(detection) if self._logger is not None: - message = self._log_format.format( - id=_id, - start=audio_region.start, - end=audio_region.end, - duration=audio_region.duration, - ) - self._log( - message + " " + str(self._start_processing_timestamp) - ) + message = self._log_format.format(detection) + self._log(message) self._notify_observers((_id, audio_region)) self._notify_observers(_STOP_PROCESSING) self._reader.close() - def add_observer(self, observer): - observer.start_processing_timestamp = self._start_processing_timestamp - self._observers.append(observer) - - def remove_observer(self, observer): - self._observers.remove(observer) - def start_all(self): for observer in self._observers: observer.start()