Esempio n. 1
0
    def test_search_pairs_titles(self):
        item = Item(title='Song (live)', artist='A')
        self.assertIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song (live)']), lyrics.search_pairs(item))

        item = Item(title='Song (live) (new)', artist='A')
        self.assertIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song (live) (new)']), lyrics.search_pairs(item))

        item = Item(title='Song (live (new))', artist='A')
        self.assertIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song (live (new))']), lyrics.search_pairs(item))

        item = Item(title='Song ft. B', artist='A')
        self.assertIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song ft. B']), lyrics.search_pairs(item))

        item = Item(title='Song featuring B', artist='A')
        self.assertIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song featuring B']), lyrics.search_pairs(item))

        item = Item(title='Song and B', artist='A')
        self.assertNotIn(('A', ['Song']), lyrics.search_pairs(item))
        self.assertIn(('A', ['Song and B']), lyrics.search_pairs(item))
Esempio n. 2
0
def _make_item(title, track, artist=u'some artist'):
    return Item(title=title, track=track,
                artist=artist, album=u'some album',
                length=1,
                mb_trackid='', mb_albumid='', mb_artistid='')
Esempio n. 3
0
 def item(self, title, track):
     return Item(
         title=title, track=track,
         mb_trackid='', mb_albumid='', mb_artistid='',
     )
Esempio n. 4
0
 def test_track_request(self):
     response_body = str(
         '{'
         '"tracks" : {'
         '"href" : "https://api.spotify.com/v1/search?query=Happy+album%3A'
         'Despicable+Me+2+artist%3APharrell+Williams&offset=0&limit=20'
         '&type=track",'
         '"items" : [ {'
         '"album" : {'
         '"album_type" : "compilation",'
         '"available_markets" : [ "AD", "AR", "AT", "AU", "BE", "BG",'
         '"BO", "BR", "CA", "CH", "CL", "CO",'
         '"CR", "CY", "CZ", "DE", "DK", "DO",'
         '"EC", "EE", "ES", "FI", "FR", "GB",'
         '"GR", "GT", "HK", "HN", "HU", "IE",'
         '"IS", "IT", "LI", "LT", "LU", "LV",'
         '"MC", "MT", "MX", "MY", "NI", "NL",'
         '"NO", "NZ", "PA", "PE", "PH", "PL",'
         '"PT", "PY", "RO", "SE", "SG", "SI",'
         '"SK", "SV", "TR", "TW", "US", "UY" ],'
         '"external_urls" : {'
         '"spotify" : "https://open.spotify.com/album/'
         '5l3zEmMrOhOzG8d8s83GOL"'
         '},'
         '"href" : "https://api.spotify.com/v1/albums/'
         '5l3zEmMrOhOzG8d8s83GOL",'
         '"id" : "5l3zEmMrOhOzG8d8s83GOL",'
         '"images" : [ {'
         '"height" : 640,'
         '"url" : "https://i.scdn.co/image/cb7905340c132365bb'
         'aee3f17498f062858382e8",'
         '"width" : 640'
         '}, {'
         '"height" : 300,'
         '"url" : "https://i.scdn.co/image/af369120f0b20099'
         'd6784ab31c88256113f10ffb",'
         '"width" : 300'
         '}, {'
         '"height" : 64,'
         '"url" : "https://i.scdn.co/image/'
         '9dad385ddf2e7db0bef20cec1fcbdb08689d9ae8",'
         '"width" : 64'
         '} ],'
         '"name" : "Despicable Me 2 (Original Motion Picture Soundtrack)",'
         '"type" : "album",'
         '"uri" : "spotify:album:5l3zEmMrOhOzG8d8s83GOL"'
         '},'
         '"artists" : [ {'
         '"external_urls" : {'
         '"spotify" : "https://open.spotify.com/artist/'
         '2RdwBSPQiwcmiDo9kixcl8"'
         '},'
         '"href" : "https://api.spotify.com/v1/artists/'
         '2RdwBSPQiwcmiDo9kixcl8",'
         '"id" : "2RdwBSPQiwcmiDo9kixcl8",'
         '"name" : "Pharrell Williams",'
         '"type" : "artist",'
         '"uri" : "spotify:artist:2RdwBSPQiwcmiDo9kixcl8"'
         '} ],'
         '"available_markets" : [ "AD", "AR", "AT", "AU", "BE", "BG", "BO",'
         '"BR", "CA", "CH", "CL", "CO", "CR", "CY",'
         '"CZ", "DE", "DK", "DO", "EC", "EE", "ES",'
         '"FI", "FR", "GB", "GR", "GT", "HK", "HN",'
         '"HU", "IE", "IS", "IT", "LI", "LT", "LU",'
         '"LV", "MC", "MT", "MX", "MY", "NI", "NL",'
         '"NO", "NZ", "PA", "PE", "PH", "PL", "PT",'
         '"PY", "RO", "SE", "SG", "SI", "SK", "SV",'
         '"TR", "TW", "US", "UY" ],'
         '"disc_number" : 1,'
         '"duration_ms" : 233305,'
         '"explicit" : false,'
         '"external_ids" : {'
         '"isrc" : "USQ4E1300686"'
         '},'
         '"external_urls" : {'
         '"spotify" : "https://open.spotify.com/track/'
         '6NPVjNh8Jhru9xOmyQigds"'
         '},'
         '"href" : "https://api.spotify.com/v1/tracks/'
         '6NPVjNh8Jhru9xOmyQigds",'
         '"id" : "6NPVjNh8Jhru9xOmyQigds",'
         '"name" : "Happy",'
         '"popularity" : 89,'
         '"preview_url" : "https://p.scdn.co/mp3-preview/'
         '6b00000be293e6b25f61c33e206a0c522b5cbc87",'
         '"track_number" : 4,'
         '"type" : "track",'
         '"uri" : "spotify:track:6NPVjNh8Jhru9xOmyQigds"'
         '} ],'
         '"limit" : 20,'
         '"next" : null,'
         '"offset" : 0,'
         '"previous" : null,'
         '"total" : 1'
         '}'
         '}')
     responses.add(responses.GET,
                   'https://api.spotify.com/v1/search?q=Happy+album%3A'
                   'Despicable%20Me%202+artist%3APharrell%20'
                   'Williams&type=track',
                   body=response_body,
                   status=200,
                   content_type='application/json')
     item = Item(mb_trackid='01234',
                 album='Despicable Me 2',
                 albumartist='Pharrell Williams',
                 title='Happy',
                 length=10)
     item.add(self.lib)
     results = self.spotify.query_spotify(self.lib, "Happy")
     self.assertEquals(1, len(results))
     self.assertEquals("6NPVjNh8Jhru9xOmyQigds", results[0]['id'])
     self.spotify.output_results(results)
Esempio n. 5
0
 def item(self, title, track):
     return Item({
         'title': title, 'track': track,
         'mb_trackid': '', 'mb_albumid': '', 'mb_artistid': '',
     })
Esempio n. 6
0
 def test_custom_field_range_query(self):
     item = Item(liveness=2.2)
     item.add(self.lib)
     item = self.lib.items('liveness:2.2..3').get()
     self.assertEqual(item['liveness'], 2.2)
Esempio n. 7
0
def new_item(item):
    newitem = Item()
    newitem.update(item)
    return newitem