From e6381a1a0a57eae80295f3ae22a6cb8b589741f8 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Wed, 6 Nov 2013 17:50:38 +0100 Subject: [PATCH] audio: Add mtime to scanner results for file: uris --- mopidy/audio/scan.py | 8 ++++++++ mopidy/scanner.py | 2 -- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mopidy/audio/scan.py b/mopidy/audio/scan.py index b1565ee3..4906b46c 100644 --- a/mopidy/audio/scan.py +++ b/mopidy/audio/scan.py @@ -6,10 +6,12 @@ import gst import gobject import datetime +import os import time from mopidy import exceptions from mopidy.models import Track, Artist, Album +from mopidy.utils import path class Scanner(object): @@ -39,6 +41,7 @@ class Scanner(object): data = self._collect() # Make sure uri and duration does not come from tags. data[b'uri'] = uri + data[b'mtime'] = self._query_mtime(uri) data[gst.TAG_DURATION] = self._query_duration() finally: self._reset() @@ -92,6 +95,11 @@ class Scanner(object): except gst.QueryError: return None + def _query_mtime(self, uri): + if not uri.startswith('file:'): + return None + return os.path.getmtime(path.uri_to_path(uri)) + def audio_data_to_track(data): """Convert taglist data + our extras to a track.""" diff --git a/mopidy/scanner.py b/mopidy/scanner.py index 02b04cb8..ee54c04d 100644 --- a/mopidy/scanner.py +++ b/mopidy/scanner.py @@ -104,8 +104,6 @@ def main(): for uri in sorted(uris_update): try: data = scanner.scan(uri) - data[b'mtime'] = os.path.getmtime(path.uri_to_path(uri)) - # TODO: check minumum time here instead of in scanner. track = scan.audio_data_to_track(data) local_updater.add(track) logging.debug('Added %s', track.uri)