Changeset - 3322285457ac
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 14 years ago 2011-06-18 21:19:24
drewp@bigasterisk.com
fix musictime restkit api
Ignore-this: 8bfe9f97a6ff4b58851dc41a50f62092
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
bin/musictime
Show inline comments
 
#!/usr/bin/env python
 
import run_local
 
import light9.networking
 

	
 
import Tkinter as tk
 
import time
 
import restkit, jsonlib
 

	
 
class MusicTime:
 
    def __init__(self, url):
 
        self.player = restkit.Resource(url)
 
    def get_music_time(self):
 
        playtime = None
 
        while not playtime:
 
            try:
 
                playtime = jsonlib.read(self.player.get("time").body,
 
                playtime = jsonlib.read(self.player.get("time").body_string(),
 
                                        use_float=True)['t']
 
            except restkit.RequestError, e:
 
                print "Server error %s, waiting" % e
 
                time.sleep(2)
 
        return playtime
 

	
 
class MusicTimeTk(tk.Frame, MusicTime):
 
    def __init__(self, master, url):
 
        tk.Frame.__init__(self)
 
        MusicTime.__init__(self, url)
 
        self.timevar = tk.DoubleVar()
 
        self.timelabel = tk.Label(self, textvariable=self.timevar, bd=2,
 
            relief='raised', width=10, padx=2, pady=2, anchor='w')
 
        self.timelabel.pack(expand=1, fill='both')
 
        def print_time(evt, *args):
 
            self.timevar.set(self.get_music_time())
 
            print self.timevar.get(), evt.keysym
 
        self.timelabel.bind('<KeyPress>', print_time)
 
        self.timelabel.bind('<1>', print_time)
 
        self.timelabel.focus()
 
        self.update_time()
 
    def update_time(self):
 
        self.timevar.set(self.get_music_time())
 
        self.after(100, self.update_time)
0 comments (0 inline, 0 general)