[shpy-commit] r2862 - in shpy/trunk/dist: . shpy/net

hpk@codespeak.net hpk@codespeak.net
Tue, 20 Jan 2004 16:58:46 +0100 (MET)


Author: hpk
Date: Tue Jan 20 16:58:45 2004
New Revision: 2862

Added:
   shpy/trunk/dist/startserver.py
      - copied unchanged from r2860, shpy/trunk/dist/shpy/net/startserver.py
Removed:
   shpy/trunk/dist/shpy/net/startserver.py
Log:
moved the server to the root to avoid relative import problems 
(from moving-in code ...)



Deleted: /shpy/trunk/dist/shpy/net/startserver.py
==============================================================================
--- /shpy/trunk/dist/shpy/net/startserver.py	Tue Jan 20 16:58:45 2004
+++ (empty file)
@@ -1,68 +0,0 @@
-#! /usr/bin/env python
-
-"""
-    start unpickling exec server 
-
-"""
-# this part of the program only executes on the server side
-#
-import autopath
-
-# XXX
-# a hack for convenience of displaying tracebacks 
-from unittest2.tool import dyncode  # just convenience 
-import linecache
-linecache.getline = dyncode.getline
-# end hack
-
-progname = 'unpickling_exec_server-1.0'
-# starting the agent server
-import sys, pickle
-
-def getlisteningsocket(hostport):
-    from socket import socket, AF_INET, SOCK_STREAM
-    sock = socket(AF_INET, SOCK_STREAM)
-    sock.bind(hostport)
-    sock.listen(5)
-    return sock
-
-def execloop(sock):
-    while 1:
-        try:
-            print progname, 'Entering Accept loop'
-            clientsock,address = sock.accept()
-            print progname, 'got new connection from %s %s' % address
-            clientfile = clientsock.makefile('r+b',0)
-            unpickler = pickle.Unpickler(clientfile)
-            pickler = pickle.Pickler(clientfile)
-            g = {'clientsock' : clientsock, 
-                 'address' : address,
-                 'unpickler' : unpickler,
-                 'pickler' : pickler}
-            co = dyncode.makecode(unpickler.load())
-            exec co in g
-        except KeyboardInterrupt:
-            sys.exit(1)
-        except:
-            import traceback
-            print traceback.print_exc()
-
-def startserver(hostport):
-    if isinstance(hostport, str):
-        host, port = hostport.split(':')
-        hostport = (host, int(port))
-    
-    sock = getlisteningsocket(hostport)
-    try:
-        execloop(sock)
-    finally:
-        sock.close()
-
-if __name__ == '__main__':
-    import sys
-    if len(sys.argv)>1:
-        hostport = sys.argv[1]
-    else:
-        hostport = ':8888'
-    startserver(hostport)
-