audio: Add mtime to scanner results for file: uris

This commit is contained in:
Thomas Adamcik 2013-11-06 17:50:38 +01:00
parent 469f414c4c
commit e6381a1a0a
2 changed files with 8 additions and 2 deletions

View File

@ -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."""

View File

@ -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)