Add basic scanner translator and test

This commit is contained in:
Thomas Adamcik 2010-10-26 23:13:45 +02:00
parent 1551723dd7
commit b76ae84af2
2 changed files with 65 additions and 1 deletions

View File

@ -6,10 +6,38 @@ pygst.require('0.10')
import gst
from os.path import abspath
import datetime
import sys
import threading
from mopidy.utils.path import path_to_uri, find_files
from mopidy.models import Track, Artist, Album
def translator(data):
album = Album(
name=data['album'],
num_tracks=data['track-count'],
)
artist = Artist(
name=data['artist'],
)
date = datetime.date(
data['date'].year,
data['date'].month,
data['date'].day,
)
return Track(
uri=data['uri'],
name=data['title'],
album=album,
artists=[artist],
date=date,
track_no=data['track-number'],
)
class Scanner(object):
def __init__(self, folder, data_callback, error_callback=None):

View File

@ -1,9 +1,45 @@
import unittest
from datetime import date
from mopidy.scanner import Scanner
from mopidy.scanner import Scanner, translator
from mopidy.models import Track, Artist, Album
from tests import data_folder
class FakeGstDate(object):
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
class TranslatorTest(unittest.TestCase):
def test_basic_data(self):
data = {
'uri': 'uri',
'album': u'albumname',
'track-number': 1,
'artist': u'name',
'title': u'trackname',
'track-count': 2,
'date': FakeGstDate(2006, 1, 1,),
'container-format': u'ID3 tag',
# length etc?
}
expected = Track(
uri='uri',
name='trackname',
album=Album(name='albumname', num_tracks=2),
artists=[Artist(name='name')],
date=date(2006, 1, 1),
track_no=1,
)
actual = translator(data)
self.assertEqual(expected, actual)
class ScannerTest(unittest.TestCase):
def setUp(self):
self.errors = {}