plugins/disabled/sg_plugin.py
changeset 0 93b25987d3e5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/disabled/sg_plugin.py	Tue May 01 12:26:35 2007 +0200
@@ -0,0 +1,39 @@
+#$ neutron_plugin 01
+
+
+def handler_SG_get(type, source, parameters):
+		groupchat = source[1]
+		iq = xmpp.Iq('get')
+		iq.setQueryNS('http://jabber.org/protocol/stats')
+		if parameters!='':
+			iq.setTo(parameters.strip())
+		else:
+			iq.setTo(SERVER)
+			parameters=SERVER
+		JCON.SendAndCallForResponse(iq,first_handler,{'parameters':parameters,'type':type,'source':source})
+
+def first_handler(coze,res,parameters,type,source):
+	#print par
+	payload=res.getQueryPayload()
+	if res.getType()=='error':
+		smsg(type,source,'Error '+res.getErrorCode()+ ': '+res.getError())
+		pass
+	elif res.getType()=='result':
+		iq = xmpp.Iq('get')
+		iq.setQueryNS('http://jabber.org/protocol/stats')
+		iq.setQueryPayload(payload)
+		iq.setTo(parameters.strip())
+		JCON.SendAndCallForResponse(iq,second_handler,{'parameters':parameters,'type':type,'source':source})
+
+def second_handler(coze,stats,parameters,type,source):
+	pay=stats.getQueryPayload()
+	if stats.getType()=='result':
+		result='Informations about ' + parameters + ':\n'
+		for stat in pay:
+			result=result+stat.getAttrs()['name']+': '+stat.getAttrs()['value'] + ' '+stat.getAttrs()['units'] + '\n'
+			
+		smsg(type,source,result)
+
+
+register_command_handler(handler_SG_get, '!server_stats', 0, 'Returns server statistics according to JEP-0039.', '!server_stats <server>', ['!server_stats njs.netlab.cz'])
+