6 COVERS_LOCATION = os.getenv ("HOME") + "/.cache/media-art/"
7 THUMBS_LOCATION = os.getenv ("HOME") + "/.thumbnails/normal/"
9 def getCoverArtFileName (album):
10 """Returns the cover art's filename that is formed from the album name."""
11 album = unicode (album)
12 albumString=dropInsideContent(album,"[","]" )
13 albumString=dropInsideContent(albumString,"{","}" )
14 albumString=dropInsideContent(albumString,"(",")" )
15 albumString=albumString.strip('()_{}[]!@#$^&*+=|\\/"\'?<>~`')
16 albumString=albumString.lstrip(' ')
17 albumString=albumString.rstrip(' ')
18 albumString=dropInsideContent(albumString,"{","}" )
19 albumString=albumString.lower()
20 albumString=string.replace(albumString,"\t"," ")
21 albumString=string.replace(albumString," "," ")
24 albumString=unicodedata.normalize('NFKD',albumString).encode()
25 albumString=albumString.encode()
28 albumString=albumString.encode('latin-1', 'ignore')
29 albumString=unicodedata.normalize('NFKD',albumString).encode("ascii")
30 albumString=str(albumString)
33 albumString=str(albumString)
34 print "DEBUG: Using plain string"
35 if len(albumString)==0: albumString=" "
37 albumMD5=md5.new(albumString).hexdigest()
38 emptyMD5=md5.new(" ").hexdigest()
39 albumArt=COVERS_LOCATION + "album-" + emptyMD5 + "-" + albumMD5 + ".jpeg"
43 def getCoverArtThumbFileName (album):
44 artFile = getCoverArtFileName(album)
45 thumbFile = THUMBS_LOCATION + md5.new(artFile).hexdigest()+".jpeg"
48 def get_thumb_filename_for_path (path):
49 thumbnail = THUMBS_LOCATION + md5.new (path).hexdigest () + ".jpeg"
52 def dropInsideContent(s, startMarker, endMarker):
53 startPos=s.find(startMarker)
54 endPos=s.find(endMarker)
55 if startPos>0 and endPos>0 and endPos>startPos:
56 return s[0:startPos]+s[endPos+1:len(s)]
59 if __name__ == "__main__":
61 print "album art: %s" % (getCoverArtFileName (unicode("Absolution")))
62 print "thumbnail: %s" % (getCoverArtThumbFileName (u"Absolution"))