symbian-qemu-0.9.1-12/python-2.6.1/Demo/sockets/finger.py
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Demo/sockets/finger.py	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,58 @@
+#! /usr/bin/env python
+
+# Python interface to the Internet finger daemon.
+#
+# Usage: finger [options] [user][@host] ...
+#
+# If no host is given, the finger daemon on the local host is contacted.
+# Options are passed uninterpreted to the finger daemon!
+
+
+import sys, string
+from socket import *
+
+
+# Hardcode the number of the finger port here.
+# It's not likely to change soon...
+#
+FINGER_PORT = 79
+
+
+# Function to do one remote finger invocation.
+# Output goes directly to stdout (although this can be changed).
+#
+def finger(host, args):
+    s = socket(AF_INET, SOCK_STREAM)
+    s.connect((host, FINGER_PORT))
+    s.send(args + '\n')
+    while 1:
+        buf = s.recv(1024)
+        if not buf: break
+        sys.stdout.write(buf)
+    sys.stdout.flush()
+
+
+# Main function: argument parsing.
+#
+def main():
+    options = ''
+    i = 1
+    while i < len(sys.argv) and sys.argv[i][:1] == '-':
+        options = options + sys.argv[i] + ' '
+        i = i+1
+    args = sys.argv[i:]
+    if not args:
+        args = ['']
+    for arg in args:
+        if '@' in arg:
+            at = string.index(arg, '@')
+            host = arg[at+1:]
+            arg = arg[:at]
+        else:
+            host = ''
+        finger(host, options + arg)
+
+
+# Call the main function.
+#
+main()