##// END OF EJS Templates
integrate recent changes from ipy_unicode_cleanup branch
vivainio -
Show More
@@ -0,0 +1,38 b''
1 """ Simple TCP socket server that executes statements in IPython instance.
2
3 Usage:
4
5 import ipy_server
6 ipy_server.serve_thread(16455)
7
8 Now, to execute the statements in this ipython instance, open a TCP socket
9 (port 16455), write out the statements, and close the socket.
10 You can use e.g. "telnet localhost 16455" or a script to do this.
11
12 This is a bit like 'M-x server-start" or gnuserv in the emacs world.
13
14 """
15
16 import IPython.ipapi
17 ip = IPython.ipapi.get()
18
19 import SocketServer
20
21 # user-accessible port
22 PORT = 8099
23
24 class IPythonRequestHandler(SocketServer.StreamRequestHandler):
25 def handle(self):
26 #print "connection from", self.client_address
27 inp = self.rfile.read().replace('\r\n','\n')
28 #print "Execute",inp
29 ip.runlines(inp)
30
31 def serve(port = PORT):
32 server = SocketServer.TCPServer(("", port), IPythonRequestHandler)
33 print "ipy_server on TCP port", port
34 server.serve_forever()
35
36 def serve_thread(port = PORT):
37 import thread
38 thread.start_new_thread(serve, (port,)) No newline at end of file
@@ -64,10 +64,7 b' def getRootModules():'
64 64 return []
65 65
66 66 modules += sys.builtin_module_names
67
68 #special modules that don't appear normally
69 modules.extend(['xml'])
70
67
71 68 modules = list(set(modules))
72 69 if '__init__' in modules:
73 70 modules.remove('__init__')
@@ -88,7 +85,7 b' def moduleList(path):'
88 85 folder_list = []
89 86 #folder_list = glob.glob(os.path.join(path,'*'))
90 87 folder_list = [p for p in folder_list \
91 if os.path.exists(os.path.join(p,'__init__.py'))\
88 if os.path.exists(os.path.join(path, p,'__init__.py'))\
92 89 or p[-3:] in ('.py','.so')\
93 90 or p[-4:] in ('.pyc','.pyo')]
94 91
@@ -1,9 +1,19 b''
1 2007-12-28 Ville Vainio <vivainio@gmail.com>
2
3 * ipy_server.py: TCP socket server for "remote control" of an IPython
4 instance.
5
1 6 2007-12-28 Fernando Perez <Fernando.Perez@colorado.edu>
2 7
3 8 * IPython/dtutils.py: Add utilities for interactively running
4 9 doctests. Still needs work to more easily handle the namespace of
5 10 the package one may be working on, but the basics are in place.
6 11
12 2007-12-27 Ville Vainio <vivainio@gmail.com>
13
14 * ipy_completers.py: Applied arno's patch to get proper list of
15 packages in import completer. Closes #196.
16
7 17 2007-12-20 Ville Vainio <vivainio@gmail.com>
8 18
9 19 * completer.py, generics.py(complete_object): Allow
General Comments 0
You need to be logged in to leave comments. Login now