aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Dan <dan@rcoh-ubuntu-small.(none)>2011-01-28 16:15:26 -0500
committerGravatar Dan <dan@rcoh-ubuntu-small.(none)>2011-01-28 16:15:26 -0500
commitf95eff2616f8e7c952a31756f079aef87f28a1d4 (patch)
tree4b3f5919890b9a17f46cf9afa8c2b18dd8250568
parentfac2f8373cd0e63a34a39cb77c0c7276d1d88b65 (diff)
readded testosc in tests directory
-rwxr-xr-xtests/testosc.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/testosc.py b/tests/testosc.py
new file mode 100755
index 0000000..6763f41
--- /dev/null
+++ b/tests/testosc.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import liblo, sys
+
+# create server, listening on port 1234
+try:
+ server = liblo.Server(1234)
+except liblo.ServerError, err:
+ print str(err)
+ sys.exit()
+
+def foo_bar_callback(path, args):
+ i, f = args
+ print "received message '%s' with arguments '%d' and '%f'" % (path, i, f)
+
+def foo_baz_callback(path, args, types, src, data):
+ print "received message '%s'" % path
+ print "blob contains %d bytes, user data was '%s'" % (len(args[0]), data)
+
+def fallback(path, args, types, src):
+ print "got unknown message '%s' from '%s'" % (path, src.get_url())
+ for a, t in zip(args, types):
+ print "argument of type '%s': %s" % (t, a)
+
+# register method taking an int and a float
+server.add_method("/foo/bar", 'if', foo_bar_callback)
+
+# register method taking a blob, and passing user data to the callback
+server.add_method("/foo/baz", 'b', foo_baz_callback, "blah")
+
+# register a fallback for unhandled messages
+server.add_method(None, None, fallback)
+
+# loop and dispatch messages every 100ms
+while True:
+ server.recv(100)