| 557 | |
| 558 | class MetadataAnalyzer(object): |
| 559 | def __init__(self, getPathCallback, loadedCallback): |
| 560 | self._getPathCallback = getPathCallback |
| 561 | self._loadedCallback = loadedCallback |
| 562 | |
| 563 | self._active = threading.Event() |
| 564 | self._active.set() |
| 565 | |
| 566 | self._currentFile = None |
| 567 | self._currentProgress = None |
| 568 | self._stop = False |
| 569 | |
| 570 | self._queue = Queue.PriorityQueue() |
| 571 | |
| 572 | self._worker = threading.Thread(target=self._work) |
| 573 | self._worker.daemon = True |
| 574 | self._worker.start() |
| 575 | |
| 576 | def addFileToQueue(self, filename): |
| 577 | self._logger.debug("Adding file %s to analysis queue (high priority)" % filename) |