[pypy-svn] r44264 - pypy/branch/graphserver-dist/dotviewer
arigo at codespeak.net
arigo at codespeak.net
Fri Jun 15 10:18:21 CEST 2007
Author: arigo
Date: Fri Jun 15 10:18:21 2007
New Revision: 44264
Modified:
pypy/branch/graphserver-dist/dotviewer/dotviewer.py
pypy/branch/graphserver-dist/dotviewer/graphserver.py
Log:
Support for specifying an interface to listen on. Useful to avoid opening
an externally-visible tcp port.
Modified: pypy/branch/graphserver-dist/dotviewer/dotviewer.py
==============================================================================
--- pypy/branch/graphserver-dist/dotviewer/dotviewer.py (original)
+++ pypy/branch/graphserver-dist/dotviewer/dotviewer.py Fri Jun 15 10:18:21 2007
@@ -4,7 +4,7 @@
dotviewer.py filename.dot
dotviewer.py filename.plain
- dotviewer.py --server port
+ dotviewer.py --server [interface:]port
In the first form, show the graph contained in a .dot file.
In the second form, the graph was already compiled to a .plain file.
@@ -17,22 +17,22 @@
def main(args = sys.argv[1:]):
import getopt
options, args = getopt.getopt(args, 's:h', ['server=', 'help'])
- server_port = None
+ server_addr = None
for option, value in options:
if option in ('-h', '--help'):
print >> sys.stderr, __doc__
sys.exit(2)
if option in ('-s', '--server'):
- server_port = int(value)
- if not args and server_port is None:
+ server_addr = value
+ if not args and server_addr is None:
print >> sys.stderr, __doc__
sys.exit(2)
for filename in args:
import graphclient
graphclient.display_dot_file(filename)
- if server_port is not None:
+ if server_addr is not None:
import graphserver
- graphserver.listen_server(('', server_port))
+ graphserver.listen_server(server_addr)
if __name__ == '__main__':
main()
Modified: pypy/branch/graphserver-dist/dotviewer/graphserver.py
==============================================================================
--- pypy/branch/graphserver-dist/dotviewer/graphserver.py (original)
+++ pypy/branch/graphserver-dist/dotviewer/graphserver.py Fri Jun 15 10:18:21 2007
@@ -111,6 +111,12 @@
def listen_server(local_address):
import socket, graphclient, thread
+ if isinstance(local_address, str):
+ if ':' in local_address:
+ interface, port = local_address.split(':')
+ else:
+ interface, port = '', local_address
+ local_address = interface, int(port)
s1 = socket.socket()
s1.bind(local_address)
s1.listen(5)
@@ -163,5 +169,4 @@
print >> f, help
io.sendmsg(msgstruct.MSG_ERROR, f.getvalue())
else:
- port = int(sys.argv[1])
- listen_server(('', port))
+ listen_server(sys.argv[1])
More information about the Pypy-commit
mailing list