OSDN Git Service

fix many bugs.
[rec10/rec10-git.git] / rec10 / trunk / src / gridserver.py
1 #!/usr/bin/python
2 # coding: UTF-8
3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
5 from SocketServer import *
6
7 import configreader
8 import recdb
9 RECV_BUF = 8192
10
11 class Handler(BaseRequestHandler):
12     """
13     This is a server to encode ts files in another pc.
14
15     """
16     def handle(self):
17         print "connect from:", self.client_address
18         cons = getTask()
19         print cons + " is sent"
20         self.request.send(cons)
21         """while True:
22             #ret = self.request.recv(RECV_BUF)
23             #if len(ret) == 0:
24             #    break
25             self.request.send()
26
27             """
28         self.request.close()
29
30 def getTask():
31     tasks = recdb.getnow("1")
32     rett = ""
33     for task in tasks:
34         if task["type"] == recdb.REC_ENCODE_QUE:
35             title = task['title']
36             opt = task['opt']
37             btime = task['btime']
38             etime = task['etime']
39             chtxt = task['chtxt']
40             recdb.del_reckey(recdb.REC_ENCODE_QUE, title, chtxt, btime)
41             recdb.rec_reckey(recdb.REC_ENCODE_GRID, title, chtxt, btime, etime, opt)
42             rett = "title=" + title + "," + "opt=" + opt + ";"
43             break
44     return rett
45 def main():
46     port = int(configreader.getpath("gridserver_port"))
47     sv = ThreadingTCPServer(('', port), Handler)
48     print "This is a Rec10 GridServer."
49     print "Waiting for connections at port" + str(port)
50     print 'listen to:', sv.socket.getsockname()
51     sv.serve_forever()
52
53 if __name__ == '__main__': main()