From 22c61164c1f04e904d238610976014441dff3ed2 Mon Sep 17 00:00:00 2001 From: bjschuma Date: Thu, 2 Jul 2009 04:40:56 +0000 Subject: [PATCH] Another new icon from andrew, keeping track of play count, more work on last.fm git-svn-id: file:///home/anna/Desktop/ocarina-legacy/mithos/ocarina@41 1daee41c-8060-4895-b1f0-2197c00d777a --- trunk/images/ocarina.png | Bin 4089 -> 49900 bytes trunk/images/ocarina.png.new | Bin 0 -> 4089 bytes trunk/images/ocarina.png.old | Bin 0 -> 2173 bytes trunk/images/ocarina512.png | Bin 0 -> 49900 bytes trunk/src/GuiObjects/__init__.py | 2 +- trunk/src/GuiObjects/button.py | 4 +- trunk/src/GuiObjects/controlPanel.py | 2 +- trunk/src/GuiObjects/plistView.py | 11 ++- trunk/src/GuiObjects/scrobbler.py | 110 +++++++++++++++++++++------ trunk/src/library.py | 39 +++++----- trunk/src/ocarina.py | 2 +- trunk/src/saveddata.py | 97 +++++++++++++---------- trunk/src/song.py | 3 +- trunk/src/window.py | 2 +- 14 files changed, 185 insertions(+), 87 deletions(-) create mode 100644 trunk/images/ocarina.png.new create mode 100644 trunk/images/ocarina.png.old create mode 100644 trunk/images/ocarina512.png diff --git a/trunk/images/ocarina.png b/trunk/images/ocarina.png index e8ec887912b5637cf9b6958fefd56a7c8409d5cd..cea8953b18b3e7a2f21fa16c602d2229d189d871 100644 GIT binary patch delta 47564 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

gi`9Y=SXJzIrK{DiU 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 literal 0 HcmV?d00001 diff --git a/trunk/images/ocarina512.png b/trunk/images/ocarina512.png new file mode 100644 index 0000000000000000000000000000000000000000..cea8953b18b3e7a2f21fa16c602d2229d189d871 GIT binary patch literal 49900 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

`v$%(E=TIH1zn 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 D7e!O9 literal 0 HcmV?d00001 diff --git a/trunk/src/GuiObjects/__init__.py b/trunk/src/GuiObjects/__init__.py index cf6fbd76..2d9d7956 100644 --- a/trunk/src/GuiObjects/__init__.py +++ b/trunk/src/GuiObjects/__init__.py @@ -1,3 +1,3 @@ # Used for initializing things in the GuiObjects directory -__all__ = ['button','menuItem','libView','infoView','plistView'] +__all__ = ['button','check','controlPanel','image','scrobbler','menuItem','libView','infoView','plistView'] diff --git a/trunk/src/GuiObjects/button.py b/trunk/src/GuiObjects/button.py index 8d05c6b5..6ca28563 100644 --- a/trunk/src/GuiObjects/button.py +++ b/trunk/src/GuiObjects/button.py @@ -14,8 +14,10 @@ class Button(gtk.Button): #box.add(image) if text != None: label = gtk.Label(text) + label.set_line_wrap(True) + label.set_size_request(100,100) label.show() - box.pack_start(label,False,False,0) + box.pack_start(label,True,True,0) box.show() self.add(box) self.connect("clicked",func,name) diff --git a/trunk/src/GuiObjects/controlPanel.py b/trunk/src/GuiObjects/controlPanel.py index 35196549..7d0ad262 100644 --- a/trunk/src/GuiObjects/controlPanel.py +++ b/trunk/src/GuiObjects/controlPanel.py @@ -71,7 +71,7 @@ class ControlPanel(gtk.HBox): except: success = False if success == True: - time = time/1000000000 + #time = time/1000000000 pbar.set_fraction(float(time)/self.data.song.info.duration) pbar.set_text(self.data.song.info.fixTime(time) + " / " + self.data.song.info.length) return True diff --git a/trunk/src/GuiObjects/plistView.py b/trunk/src/GuiObjects/plistView.py index 5990011c..0f8f3aa7 100644 --- a/trunk/src/GuiObjects/plistView.py +++ b/trunk/src/GuiObjects/plistView.py @@ -121,7 +121,7 @@ class PlistView(gtk.Notebook): col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_min_width(2) col.set_max_width(700) - col.set_sort_indicator(True) + col.set_sort_indicator(False) if cols[i] != "Id": tree.append_column(col) tree.set_rules_hint(True) @@ -197,6 +197,15 @@ class PlistView(gtk.Notebook): # Go to the next song in the list def next(self,widgit,data): self.data.playingQ = False + #print float(self.data.song.position)/float(self.data.song.info.duration) + if (float(self.data.song.position)/float(self.data.song.info.duration)) >= 0.75: + for row in self.plist: + if row[0]==self.data.curSong: + row[5]+=1 + break + self.data.library.files[self.data.curSong].count+=1 + #if self.plist[self.data.curSong][0]==self.data.curSong: + # self.plist[self.data.curSong][5]+=1 if len(self.data.curQ) > 0: self.data.curSong = self.qlist[0][0] self.data.curQ.pop(self.data.curQ.index(self.data.curSong)) diff --git a/trunk/src/GuiObjects/scrobbler.py b/trunk/src/GuiObjects/scrobbler.py index fbaf6bab..3834c792 100644 --- a/trunk/src/GuiObjects/scrobbler.py +++ b/trunk/src/GuiObjects/scrobbler.py @@ -4,6 +4,9 @@ pygtk.require('2.0') import gtk import webbrowser import thread +import hashlib + +from button import Button import xml.dom from xml.dom import minidom @@ -14,40 +17,103 @@ class Scrobbler(gtk.VBox): gtk.VBox.__init__(self,False,0) self.data = data self.url = "http://ws.audioscrobbler.com/2.0/" - self.key = "api_key=2c76f85a6704efd74b5a358821284ef9" - self.token = "token=" + self.key = "2c76f85a6704efd74b5a358821284ef9" + self.secret = "3a6012bfb627b60a884cf33fc044885c" + self.token = "" # Run these in new thread so we can keep loading other things while waiting - thread.start_new_thread(self.setup,("setup",None)) - #self.fetchToken() - #self.authorize() + self.makegui() + #thread.start_new_thread(self.setup,("setup",None)) - #self.makeRequest() self.show() + def makegui(self): + if self.data.lfm == "": + self.nosession = Button("lfm",None,"Click here to configure Ocarina for submitting songs to last.fm",self.setup) + self.nosession.set_size_request(100,100) + self.pack_start(self.nosession,False,False,0) + + + # One time setup (in theory) def setup(self,widgit,data): + self.nosession.hide() + self.remove(self.nosession) + self.contBtn = Button("lfm",None,"Click to continue",self.fetchSession) + self.pack_start(self.contBtn,False,False,0) self.fetchToken() self.authorize() - def addMethod(self,method): - return self.url+"?method="+method - - def authorize(self): - url = "http://www.last.fm/api/auth/?" - url+=self.key+"&"+self.token - webbrowser.open(url) - - + # Fetch the authentication token def fetchToken(self): - url = self.addMethod("auth.gettoken")+"&"+self.key - req = urllib2.Request(url) - req.add_header('User-Agent','Ocarina') - status = minidom.parse(urllib2.urlopen(req)).documentElement - + (url,list) = self.addMethod("auth.gettoken") + (url,list) = self.addParam(url,list,"api_key",self.key) + status = self.placeRequest(url) attr = status.getAttributeNode("status") if attr.value != "ok": return - self.token += status.firstChild.nextSibling.firstChild.data - print self.token + self.token += hashlib.md5(status.firstChild.nextSibling.firstChild.data).hexdigest() + + +# Open to authorization page + def authorize(self): + url = "http://www.last.fm/api/auth/?" + (url,list) = self.addParam(url,[],"api_key",self.key) + (url,list) = self.addParam(url,[],"token",self.token) + #url+="&"+self.token + webbrowser.open(url) + + + def fetchSession(self,widgit,data): + (url,list) = self.addMethod("auth.getSession") + (url,list) = self.addParam(url,list,"api_key",self.key) + (url,list) = self.addParam(url,list,"token",self.token) + sig = self.getSig(list) + (url,list) = self.addParam(url,None,"api_sig",sig) + print url + #status = self.placeRequest(url) + return + attr = status.getAttributeNode("status") + if attr.value != "ok": + return + node = status.firstChild.firstChild + user = node.data + key = node.nextSibling.data + subscriber = node.nextSibling.nextSibling.data + #print user,key,subscriber + + + def addMethod(self,method): + return (self.url+"?method="+method,[("method",method)]) + + + def addParam(self,url,list,param,val): + url+="&"+param+"="+val + if list: + list += [(param,val)] + return url,list + #return (url+"&"+param+"="+val,list+[(param,val)]) + + + def getSig(self,list): + list.sort() + string = "" + for entry in list: + string+=entry[0]+entry[1] + string = string + self.secret + m = hashlib.md5(string) + return m.hexdigest() + + + def sendReq(self,req): + req+=self.secret + #hash = md5.new(req).digest() + #return self.placeRequest(self.url+"?"+hash) + + + def placeRequest(self,url): + print url + req = urllib2.Request(url) + req.add_header('User-Agent','Ocarina') + return minidom.parse(urllib2.urlopen(req)).documentElement diff --git a/trunk/src/library.py b/trunk/src/library.py index 63676c50..447c884c 100644 --- a/trunk/src/library.py +++ b/trunk/src/library.py @@ -9,9 +9,10 @@ import thread class Library: #def __init__(self,prnt): def __init__(self): - self.goodTypes = ["ogg","mp3"]#,"wma"] + self.goodTypes = ["ogg","mp3","wav","avi","flac","mid"]#,"wma"] self.reset() self.scanning = False + #self.notAdded = open("/home/bjschuma/Desktop/notAdded.txt",'w') # Begin a scan on dir @@ -53,9 +54,14 @@ class Library: tSplit = entry.rsplit('.') type = tSplit[len(tSplit)-1].lower() if (type in self.goodTypes) == True: + song = SongInfo() + song.filename = os.path.join(self.path,joined) + self.files+=[song] + thread.start_new_thread(self.add,(self.hash(joined),self.count)) self.count += 1 - thread.start_new_thread(self.add,(self.hash(joined),joined,self.count-1)) #self.add(self.hash(joined),joined) + #else: + # self.notAdded.write(os.path.join(self.path,joined)+"\n") # Hash a file and return list of words @@ -68,11 +74,8 @@ class Library: # Add song to library - def add(self,words,file,index): - #self.files+=[SongInfo()] - self.files.insert(index,SongInfo()) + def add(self,words,index): info = self.files[index] - info.filename = os.path.join(self.path,file) info.count = 0 info.id = index split = info.filename.rsplit(os.sep) @@ -87,18 +90,20 @@ class Library: else: info.artist = split[len(split)-3] - f = tagpy.FileRef(info.filename) - t = f.tag() - if t.title != "": - info.title = t.title - if t.album != "": - info.album = t.album - if t.artist != "": - info.artist = t.artist - - a = f.audioProperties() - info.setTime(a.length) + try: + f = tagpy.FileRef(info.filename) + t = f.tag() + if t.title != "": + info.title = t.title + if t.album != "": + info.album = t.album + if t.artist != "": + info.artist = t.artist + a = f.audioProperties() + info.setTime(a.length) + except: + print info.filename artist = info.artist.lower() album = info.album.lower() diff --git a/trunk/src/ocarina.py b/trunk/src/ocarina.py index b387bdd7..e966faac 100644 --- a/trunk/src/ocarina.py +++ b/trunk/src/ocarina.py @@ -39,7 +39,7 @@ class main: self.data.size = self.window.get_size() self.data.divider = self.window.divider.get_position() self.window.plistview.saveCols() - self.data.clearSong() + #self.data.clearSong() self.data.dump() #self.library.dump() gtk.main_quit() diff --git a/trunk/src/saveddata.py b/trunk/src/saveddata.py index 0b2347d5..791cb5ba 100644 --- a/trunk/src/saveddata.py +++ b/trunk/src/saveddata.py @@ -1,3 +1,4 @@ +import gobject import os import cPickle as pickle from library import Library @@ -7,60 +8,74 @@ from song import Song class SavedData: def __init__(self,options): path = os.path.join(options.user,".ocarina") - path = os.path.join(path,"ocarina-data.data") - self.size = (800,600) - self.divider = 150 - self.library = Library() - self.curList = [] - self.curQ = [] self.updateQ = False - self.playingQ = False - self.curSong = 0 - self.colSizes = [110,110,110,110,110] - self.sortedCol = 3 self.updateList = False self.path = path self.song = None - self.random = False self.quit = None - - if os.path.exists(path): - try: - self.load(path,options) - except: - if options.verbose == True: - print "Error loading user data" + if os.path.exists(self.path) == False: + os.mkdir(self.path) + self.load(path,options) + #gobject.timeout_add(600000,self.dump) # Dump user data to a file def dump(self): - out = open(self.path,'w') + self.save(self.library,"library") + self.save([self.curList,self.curQ,self.curSong,self.playingQ],"playlist") + self.save([self.size,self.divider,self.colSizes,self.sortedCol,self.random],"preferences") + self.save(self.lfm,"last.fm") + + + def save(self,obj,file): + out = open(os.path.join(self.path,file),'w') p = pickle.Pickler(out,1) - p.dump(self) + p.dump(obj) out.close() - def clearSong(self): - self.song.close() - self.song = None - return - - # Read user data from the file + # Create values if files do not exist def load(self,path,options): - if options.verbose == True: - print "User data found, loading..." - p = pickle.Unpickler(open(path)) - data = p.load() - #self.size = data.size - self.divider = data.divider - self.library = data.library - self.curList = data.curList - self.curSong = 0 - self.colSizes = data.colSizes - self.path = data.path - self.random = data.random - self.curSong = data.curSong - self.curQ = data.curQ - self.playingQ = data.playingQ + self.library = self.load2("library") + if self.library == None: + self.library = Library() + plist = self.load2("playlist") + if plist == None: + self.curList = [] + self.curQ = [] + self.curSong = 0 + self.playingQ = False + else: + self.curList = plist[0] + self.curQ = plist[1] + self.curSong = plist[2] + self.playingQ = plist[3] + + prefs = self.load2("preferences") + if prefs == None: + self.size = (800,600) + self.divider = 150 + self.colSizes = [110,110,110,110,110] + self.sortedCol = 3 + self.random = False + else: + self.size = prefs [0] + self.divider = prefs[1] + self.colSizes = prefs[2] + self.sortedCol = prefs[3] + self.random = prefs[4] + + self.lfm = self.load2("last.fm") + if self.lfm == None: + self.lfm = "" + + + def load2(self,file): + path = os.path.join(self.path,file) + if os.path.exists(path): + p = pickle.Unpickler(open(path)) + data = p.load() + return data + return None diff --git a/trunk/src/song.py b/trunk/src/song.py index d7411a99..cbecee33 100644 --- a/trunk/src/song.py +++ b/trunk/src/song.py @@ -68,4 +68,5 @@ class Song(): def curTime(self): if self.playing == False: return (False,False) - return (True, self.player.query_position(self.time_format,None)[0]) + self.position = self.player.query_position(self.time_format,None)[0]/1000000000 + return (True, self.position) diff --git a/trunk/src/window.py b/trunk/src/window.py index 139d1355..7692afe7 100644 --- a/trunk/src/window.py +++ b/trunk/src/window.py @@ -62,7 +62,7 @@ class Window(gtk.Window): def deleteLib(self,widgit,data,other=None): self.data.library.reset() self.libview.update() - self.clearPlist() + self.clearPlist(None,None) def clearPlist(self,widgit,data,other=None):