instrumentation: add next-share/
[cs-p2p-next.git] / instrumentation / next-share / BaseLib / Plugin / pluginemulator-http.py
1 \r
2 import sys\r
3 import socket\r
4 import urlparse\r
5 import time\r
6 \r
7 class PluginEmulator:\r
8     \r
9     def __init__(self,port,cmd,param):\r
10         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\r
11         s.connect(('127.0.0.1',port))\r
12         msg = cmd+' '+param+'\r\n'\r
13         s.send(msg)\r
14         \r
15         while True:\r
16             data = s.recv(1024)\r
17             print >>sys.stderr,"pe: Got BG command",data\r
18             if len(data) == 0:\r
19                 print >>sys.stderr,"pe: BG closes IC"\r
20                 return\r
21             elif data.startswith("PLAY"):\r
22                 \r
23                 f = open("bla.bat","wb")\r
24                 f.write("\"\\Program Files\\GnuWin32\\bin\\wget.exe\" -S "+data[4:])\r
25                 f.close()\r
26                 break\r
27 \r
28         time.sleep(1000)\r
29         return\r
30 \r
31         #url = data[len("PLAY "):-2]\r
32         url = data[len("PLAY "):]\r
33         p = urlparse.urlparse(url)\r
34         path  = p[2]\r
35         \r
36         s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\r
37         s2.connect(('127.0.0.1',6878))\r
38         cmd = "GET "+path+" HTTP/1.1\r\nHost: localhost:6878\r\n\r\n\r\n"\r
39         print >>sys.stderr,"SENDING CMD",cmd\r
40         s2.send(cmd)\r
41         for i in range(0,2):\r
42             data = s2.recv(256)\r
43             print >>sys.stderr,"pe: Got HTTP command",`data`\r
44             if len(data) == 0:\r
45                 break\r
46         \r
47         print >>sys.stderr,"pe: Sleeping"\r
48         time.sleep(100)\r
49         \r
50             \r
51 #pe = PluginEmulator(62062,"START","http://www.cs.vu.nl/~arno/vod/route2.tstream")\r
52 pe = PluginEmulator(62062,"START","file:/Build/trans-release-0.1/stroom.ogg.tstream")\r
53      \r
54         \r