import pygame import logging import hashlib import os import urllib from mopidy.audio import PlaybackState from .dynamic_background import DynamicBackground logger = logging.getLogger(__name__) class MainScreen(): def __init__(self,size,manager,cache): self.size=size self.manager=manager self.background=DynamicBackground() self.track = None self.cache=cache self.imageStatus = -1 def update(self,core): screen = pygame.Surface(self.size) self.background.drawBackground(screen) text = pygame.font.SysFont("arial",20) if(self.track!=None): text_surface=text.render(self.track.name,False,(255,255,255)) screen.blit(text_surface,(0,0)) return screen def track_started(self,track): self.track=track logger.error("track started") if(not self.isImageInCache()): logger.error("deskarga hasiko da") self.downloadImage() else: self.imageStatus = 1 logger.error("supuestamente irudia badago") def getImageFileName(self): logger.error("izena sortzen") name = self.track.album.name logger.error(name) md5name = hashlib.md5(name).hexdigest() logger.error("izena ondo") return md5name def getCoverFolder(self): logger.error("cover karpeta lortzen") if(not os.path.isdir(self.cache+"/covers")): logger.error("cover carpeta sortu da") os.makedirs(self.cache+"/covers") else: logger.error("ez da cover carpeta sortu") return self.cache+"/covers/" def isImageInCache(self): logger.error("imagen en katxe hasiera") self.getCoverFolder() logger.error("imagen en katxe bukaerar") return os.path.isfile(self.cache+self.getCoverFolder()+self.getImageFileName()) def downloadImage(self): logger.error("deskarga hasi da jaja") self.imageStatus = 0 #safe_artist=urllib.quote_plus(self.track.artists) safe_artist='' logger.error("-1") safe_album=urllib.quote_plus(self.track.album.name) logger.error("1") url="http://ws.audioscrobbler.com/2.0/?" params="method=album.getinfo&api_key=59a04c6a73fb99d6e8996e01db306829&artist="+safe_artist+"&album="+safe_album+"&format=json" response = urllib2.urlopen(url+params) data = json.load(response) image = data['album']['image'][2]['#text'] urllib.urlretrieve(image, folder+"00000001.jpg") self.imageStatus = 1