[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)
-