~oly/rhythmboxwebremote/trunk

« back to all changes in this revision

Viewing changes to WebRemoteServer.py

  • Committer: Oliver Marks
  • Date: 2012-05-06 18:13:53 UTC
  • Revision ID: oly@digitaloctave.com-20120506181353-7rq2f8r9y25py8r7
now updating using json instead of hard coded html, so we can update volume and trigger various other updates based on values in the update object

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
# along with this program; if not, write to the Free Software
26
26
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
27
27
 
 
28
 
28
29
import os,sys
29
30
import BaseHTTPServer
30
31
import socket
46
47
        server_path=os.path.dirname(__file__)+os.sep
47
48
        #theme='default'
48
49
        #theme_path=server_path+os.sep+theme
49
 
        theme_full_path=server_path+os.sep+'themes'
 
50
        theme_full_path=server_path+'themes'
50
51
        settings={'theme':'default'}
51
52
        def __init__(self,request, client_address,ipc, server):
52
53
                self.ipc=ipc
102
103
                        localtime+=str(t) 
103
104
 
104
105
                count=0
105
 
                for sessfile in os.listdir("./sessions/"):
 
106
                for sessfile in os.listdir(self.server_path+"/sessions/"):
106
107
                        count+=1
107
 
                        if os.path.exists("./sessions/"+sessfile):
108
 
                                if not os.path.isdir("./sessions/"+sessfile):
109
 
                                        timefile = os.path.getmtime("./sessions/"+sessfile)
 
108
                        if os.path.exists(self.server_path+"/sessions/"+sessfile):
 
109
                                if not os.path.isdir(self.server_path+"/sessions/"+sessfile):
 
110
                                        timefile = os.path.getmtime(self.server_path+"/sessions/"+sessfile)
110
111
                                        fileage = timenow - timefile
111
112
                                        print "time now = "+str(timenow)
112
113
                                        print "file age = "+str(fileage)
113
114
                                        print "file tim = "+str(timefile)
114
115
                                        if fileage > 1200.0: #delete sessions 10 minutes old
115
116
                                                print "delete old sessions"
116
 
                                                if os.path.exists("./sessions/"+sessfile):
 
117
                                                if os.path.exists(self.server_path+"/sessions/"+sessfile):
117
118
                                                        print timefile
118
119
 
119
120
                                                        
255
256
 
256
257
                self.send_response(200)
257
258
                self.send_header('location',    querystring)
 
259
                self.send_header('Access-Control-Allow-Origin:',' *')
258
260
                self.send_header('Cache-Control', ' no-store, no-cache, must-revalidate');
259
261
                self.send_header('Cache-Control', ' post-check=0, pre-check=0');
260
262
                self.send_header('Pragma:',' no-cache');
277
279
                        web.buttons.add('/play','/themes/'+self.settings['theme']+'/img/player_play.png','Play')
278
280
                        web.buttons.add('/next','/themes/'+self.settings['theme']+'/img/player_fwd.png','Next '+str(self.server.vote['next']))
279
281
 
280
 
                        web.container.append(web.buttons.render(),'buttons')
 
282
                        web.container.append(web.buttons.render()+str(self.server.vote['clients']),'buttons')
281
283
                        web.page.section(web.container.render(),'controls')
282
284
 
283
285
                        web.boxes.add('0')
324
326
                result=False
325
327
                url=url.lstrip('/')
326
328
                cmd=url.split('/')[0].rstrip('/')
327
 
                print cmd
 
329
                
328
330
                if cmd=='update':
 
331
                        print cmd + ' command'
329
332
                        result=True
330
333
                        tmp=self.ipc.read()
331
334
                        while tmp:
 
335
                                
332
336
                                print 'ipc read='+str(tmp)
333
337
                                sp=tmp.split('|',3)
334
338
                                if len(sp)==3:
335
339
                                        if sp[1]=='track':
336
340
                                                self.ipc.history['track']=sp[2]
337
 
                                                self.ipc.history['track_json']=tmp
 
341
                                        if sp[1]=='json':
 
342
                                                self.ipc.history['track_json']=sp[2]
338
343
                                tmp=self.ipc.read()
339
344
                                        
340
345
                        self.wfile.write(self.ipc.history.get('track_json',''))