# HG changeset patch # User Matthew Wild # Date 1379603085 -3600 # Node ID f5eadba271208338f804b147b03e8a491eee038f # Parent bbe278a56b0a6484391cee0de81f041e1c5b9c2b mod_auth_external: Add example Python script diff -r bbe278a56b0a -r f5eadba27120 mod_auth_external/examples/python/prosody-auth-example.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_auth_external/examples/python/prosody-auth-example.py Thu Sep 19 16:04:45 2013 +0100 @@ -0,0 +1,29 @@ +#!/usr/bin/env python2 + +import sys + +def auth(username, password): + if username == "someone": + return "1" + return "0" + +def respond(ret): + sys.stdout.write(ret+"\n") + sys.stdout.flush() + +methods = { + "auth": { "function": auth, "parameters": 2 } +} + +while 1: + line = sys.stdin.readline().rstrip("\n") + method, sep, data = line.partition(":") + if method in methods: + method_info = methods[method] + split_data = data.split(":", method_info["parameters"]) + if len(split_data) == method_info["parameters"]: + respond(method_info["function"](*split_data)) + else: + respond("error: incorrect number of parameters to method '%s'"%method) + else: + respond("error: method '%s' not implemented"%method)