本文整理汇总了Python中mopidy.models.Track类的典型用法代码示例。如果您正苦于以下问题:Python Track类的具体用法?Python Track怎么用?Python Track使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Track类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: tracks
def tracks(item, formats, uri=uri):
identifier = item['metadata']['identifier']
track = Track(album=album(item['metadata']))
tracks = []
for obj in files(item, formats):
filename = obj.get('name')
tracks.append(track.replace(
uri=uri(identifier, filename),
name=obj.get('title', filename),
artists=artists(obj) or track.album.artists,
genre=obj.get('genre'),
track_no=parse_track(obj.get('track')),
length=parse_length(obj.get('length')),
bitrate=parse_bitrate(obj.get('bitrate')),
last_modified=parse_mtime(obj.get('mtime'))
))
return tracks
示例2: test_scan
def test_scan(self, mock_scan):
mock_scan.return_value = {
'tags': {
'image': [GIF_DATA, PNG_DATA],
'preview-image': [JPEG_DATA]
}
}
album = Album(name='foo')
track = Track(uri=b'local:track:foo.mp3', album=album)
images = ['/images/' + name for name in GIF_NAME, PNG_NAME, JPEG_NAME]
image_track = track.copy(album=album.copy(images=images))
self.library.add(track)
mock_library.add.assert_called_with(image_track, None, None)
self.assertTrue(os.path.isfile(os.path.join(self.tempdir, GIF_NAME)))
self.assertTrue(os.path.isfile(os.path.join(self.tempdir, PNG_NAME)))
self.assertTrue(os.path.isfile(os.path.join(self.tempdir, JPEG_NAME)))
self.library.close()
self.assertEqual(os.listdir(self.tempdir), [])
示例3: setUp
def setUp(self): # noqa: N802
self.tags = {
"album": ["album"],
"track-number": [1],
"artist": ["artist"],
"composer": ["composer"],
"performer": ["performer"],
"album-artist": ["albumartist"],
"title": ["track"],
"track-count": [2],
"album-disc-number": [2],
"album-disc-count": [3],
"date": [datetime.date(2006, 1, 1)],
"container-format": ["ID3 tag"],
"genre": ["genre"],
"comment": ["comment"],
"musicbrainz-trackid": ["trackid"],
"musicbrainz-albumid": ["albumid"],
"musicbrainz-artistid": ["artistid"],
"musicbrainz-albumartistid": ["albumartistid"],
"bitrate": [1000],
}
artist = Artist(name="artist", musicbrainz_id="artistid")
composer = Artist(name="composer")
performer = Artist(name="performer")
albumartist = Artist(name="albumartist", musicbrainz_id="albumartistid")
album = Album(name="album", num_tracks=2, num_discs=3, musicbrainz_id="albumid", artists=[albumartist])
self.track = Track(
name="track",
date="2006-01-01",
genre="genre",
track_no=1,
disc_no=2,
comment="comment",
musicbrainz_id="trackid",
album=album,
bitrate=1000,
artists=[artist],
composers=[composer],
performers=[performer],
)
示例4: setUp
def setUp(self):
self.data = {
'uri': 'uri',
'duration': 4531000000,
'mtime': 1234,
'tags': {
'album': ['album'],
'track-number': [1],
'artist': ['artist'],
'composer': ['composer'],
'performer': ['performer'],
'album-artist': ['albumartist'],
'title': ['track'],
'track-count': [2],
'album-disc-number': [2],
'album-disc-count': [3],
'date': [FakeGstDate(2006, 1, 1,)],
'container-format': ['ID3 tag'],
'genre': ['genre'],
'comment': ['comment'],
'musicbrainz-trackid': ['trackid'],
'musicbrainz-albumid': ['albumid'],
'musicbrainz-artistid': ['artistid'],
'musicbrainz-albumartistid': ['albumartistid'],
'bitrate': [1000],
},
}
artist = Artist(name='artist', musicbrainz_id='artistid')
composer = Artist(name='composer')
performer = Artist(name='performer')
albumartist = Artist(name='albumartist',
musicbrainz_id='albumartistid')
album = Album(name='album', num_tracks=2, num_discs=3,
musicbrainz_id='albumid', artists=[albumartist])
self.track = Track(uri='uri', name='track', date='2006-01-01',
genre='genre', track_no=1, disc_no=2, length=4531,
comment='comment', musicbrainz_id='trackid',
last_modified=1234, album=album, bitrate=1000,
artists=[artist], composers=[composer],
performers=[performer])
示例5: setUp
def setUp(self): # noqa: N802
self.tags = {
'album': ['album'],
'track-number': [1],
'artist': ['artist'],
'composer': ['composer'],
'performer': ['performer'],
'album-artist': ['albumartist'],
'title': ['track'],
'track-count': [2],
'album-disc-number': [2],
'album-disc-count': [3],
'date': ['2006-01-01'],
'container-format': ['ID3 tag'],
'genre': ['genre'],
'comment': ['comment'],
'musicbrainz-trackid': ['trackid'],
'musicbrainz-albumid': ['albumid'],
'musicbrainz-artistid': ['artistid'],
'musicbrainz-sortname': ['sortname'],
'musicbrainz-albumartistid': ['albumartistid'],
'bitrate': [1000],
}
artist = Artist(name='artist', musicbrainz_id='artistid',
sortname='sortname')
composer = Artist(name='composer')
performer = Artist(name='performer')
albumartist = Artist(name='albumartist',
musicbrainz_id='albumartistid')
album = Album(name='album', date='2006-01-01',
num_tracks=2, num_discs=3,
musicbrainz_id='albumid', artists=[albumartist])
self.track = Track(name='track',
genre='genre', track_no=1, disc_no=2,
comment='comment', musicbrainz_id='trackid',
album=album, bitrate=1000, artists=[artist],
composers=[composer], performers=[performer])
示例6: test_replace_track_with_private_internal_value
def test_replace_track_with_private_internal_value(self):
artist1 = Artist(name='foo')
artist2 = Artist(name='bar')
track = Track(artists=[artist1])
other = track.replace(artists=[artist2])
self.assertIn(artist2, other.artists)
示例7: TagsToTrackTest
class TagsToTrackTest(unittest.TestCase):
def setUp(self): # noqa: N802
self.tags = {
'album': ['album'],
'track-number': [1],
'artist': ['artist'],
'composer': ['composer'],
'performer': ['performer'],
'album-artist': ['albumartist'],
'title': ['track'],
'track-count': [2],
'album-disc-number': [2],
'album-disc-count': [3],
'date': ['2006-01-01'],
'container-format': ['ID3 tag'],
'genre': ['genre'],
'comment': ['comment'],
'musicbrainz-trackid': ['trackid'],
'musicbrainz-albumid': ['albumid'],
'musicbrainz-artistid': ['artistid'],
'musicbrainz-sortname': ['sortname'],
'musicbrainz-albumartistid': ['albumartistid'],
'bitrate': [1000],
}
artist = Artist(name='artist', musicbrainz_id='artistid',
sortname='sortname')
composer = Artist(name='composer')
performer = Artist(name='performer')
albumartist = Artist(name='albumartist',
musicbrainz_id='albumartistid')
album = Album(name='album', date='2006-01-01',
num_tracks=2, num_discs=3,
musicbrainz_id='albumid', artists=[albumartist])
self.track = Track(name='track',
genre='genre', track_no=1, disc_no=2,
comment='comment', musicbrainz_id='trackid',
album=album, bitrate=1000, artists=[artist],
composers=[composer], performers=[performer])
def check(self, expected):
actual = tags.convert_tags_to_track(self.tags)
self.assertEqual(expected, actual)
def test_track(self):
self.check(self.track)
def test_missing_track_no(self):
del self.tags['track-number']
self.check(self.track.replace(track_no=None))
def test_multiple_track_no(self):
self.tags['track-number'].append(9)
self.check(self.track)
def test_missing_track_disc_no(self):
del self.tags['album-disc-number']
self.check(self.track.replace(disc_no=None))
def test_multiple_track_disc_no(self):
self.tags['album-disc-number'].append(9)
self.check(self.track)
def test_missing_track_name(self):
del self.tags['title']
self.check(self.track.replace(name=None))
def test_multiple_track_name(self):
self.tags['title'] = ['name1', 'name2']
self.check(self.track.replace(name='name1; name2'))
def test_missing_track_musicbrainz_id(self):
del self.tags['musicbrainz-trackid']
self.check(self.track.replace(musicbrainz_id=None))
def test_multiple_track_musicbrainz_id(self):
self.tags['musicbrainz-trackid'].append('id')
self.check(self.track)
def test_missing_track_bitrate(self):
del self.tags['bitrate']
self.check(self.track.replace(bitrate=None))
def test_multiple_track_bitrate(self):
self.tags['bitrate'].append(1234)
self.check(self.track)
def test_missing_track_genre(self):
del self.tags['genre']
self.check(self.track.replace(genre=None))
def test_multiple_track_genre(self):
self.tags['genre'] = ['genre1', 'genre2']
self.check(self.track.replace(genre='genre1; genre2'))
def test_missing_track_date(self):
del self.tags['date']
#.........这里部分代码省略.........
示例8: test_different_instance_with_replace
def test_different_instance_with_replace(self):
t = Track(uri='test1')
self.assertIsNot(t, t.replace(uri='test2'))
示例9: test_replace_track_with_missing_values
def test_replace_track_with_missing_values(self):
track = Track(uri='bar')
other = track.replace(name='baz')
self.assertEqual('baz', other.name)
self.assertEqual('bar', other.uri)
示例10: test_name
def test_name(self):
name = 'a name'
track = Track(name=name)
self.assertEqual(track.name, name)
with self.assertRaises(AttributeError):
track.name = None
示例11: test_serialize
def test_serialize(self):
track = Track(uri="uri", name="name")
self.assertDictEqual(
{"__model__": "TlTrack", "tlid": 123, "track": track.serialize()},
TlTrack(tlid=123, track=track).serialize(),
)
示例12: test_copying_track_with_missing_values
def test_copying_track_with_missing_values(self):
track = Track(uri='bar')
copy = track.copy(name='baz')
self.assertEqual('baz', copy.name)
self.assertEqual('bar', copy.uri)
示例13: test_serialize_with_tracks
def test_serialize_with_tracks(self):
track = Track(name='foo')
self.assertDictEqual(
{'__model__': 'Playlist', 'uri': 'uri', 'name': 'name',
'tracks': [track.serialize()]},
Playlist(uri='uri', name='name', tracks=[track]).serialize())
示例14: test_disc_no
def test_disc_no(self):
disc_no = 2
track = Track(disc_no=disc_no)
self.assertEqual(track.disc_no, disc_no)
with self.assertRaises(AttributeError):
track.disc_no = None
示例15: test_date
def test_date(self):
date = '1977-01-01'
track = Track(date=date)
self.assertEqual(track.date, date)
with self.assertRaises(AttributeError):
track.date = None