blob: 42fa1301d256cf5f3f58d285f85c0cc2277c3a04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# -*- coding: utf-8 -*-
import difflib
def discogs_artistfind(data, artist):
artists = []
for item in data.get('results',[]):
artistdata = {}
artistdata['artist'] = item['title']
# filter inaccurate results
match = difflib.SequenceMatcher(None, artist.lower(), item['title'].lower()).ratio()
score = round(match, 2)
if score > 0.90:
artistdata['thumb'] = item['thumb']
artistdata['genre'] = ''
artistdata['born'] = ''
artistdata['dcid'] = item['id']
# discogs does not provide relevance, use our own
artistdata['relevance'] = str(score)
artists.append(artistdata)
return artists
def discogs_artistdetails(data):
artistdata = {}
artistdata['artist'] = data['name']
artistdata['biography'] = data['profile']
if 'images' in data:
thumbs = []
for item in data['images']:
thumbdata = {}
thumbdata['image'] = item['uri']
thumbdata['preview'] = item['uri150']
thumbdata['aspect'] = 'thumb'
thumbs.append(thumbdata)
artistdata['thumb'] = thumbs
return artistdata
def discogs_artistalbums(data):
albums = []
for item in data['releases']:
if item['role'] == 'Main':
albumdata = {}
albumdata['title'] = item['title']
albumdata['year'] = str(item.get('year', ''))
albums.append(albumdata)
return albums
|