plugins/disabled/sg_plugin.py
changeset 0 93b25987d3e5
equal deleted inserted replaced
-1:000000000000 0:93b25987d3e5
       
     1 #$ neutron_plugin 01
       
     2 
       
     3 
       
     4 def handler_SG_get(type, source, parameters):
       
     5 		groupchat = source[1]
       
     6 		iq = xmpp.Iq('get')
       
     7 		iq.setQueryNS('http://jabber.org/protocol/stats')
       
     8 		if parameters!='':
       
     9 			iq.setTo(parameters.strip())
       
    10 		else:
       
    11 			iq.setTo(SERVER)
       
    12 			parameters=SERVER
       
    13 		JCON.SendAndCallForResponse(iq,first_handler,{'parameters':parameters,'type':type,'source':source})
       
    14 
       
    15 def first_handler(coze,res,parameters,type,source):
       
    16 	#print par
       
    17 	payload=res.getQueryPayload()
       
    18 	if res.getType()=='error':
       
    19 		smsg(type,source,'Error '+res.getErrorCode()+ ': '+res.getError())
       
    20 		pass
       
    21 	elif res.getType()=='result':
       
    22 		iq = xmpp.Iq('get')
       
    23 		iq.setQueryNS('http://jabber.org/protocol/stats')
       
    24 		iq.setQueryPayload(payload)
       
    25 		iq.setTo(parameters.strip())
       
    26 		JCON.SendAndCallForResponse(iq,second_handler,{'parameters':parameters,'type':type,'source':source})
       
    27 
       
    28 def second_handler(coze,stats,parameters,type,source):
       
    29 	pay=stats.getQueryPayload()
       
    30 	if stats.getType()=='result':
       
    31 		result='Informations about ' + parameters + ':\n'
       
    32 		for stat in pay:
       
    33 			result=result+stat.getAttrs()['name']+': '+stat.getAttrs()['value'] + ' '+stat.getAttrs()['units'] + '\n'
       
    34 			
       
    35 		smsg(type,source,result)
       
    36 
       
    37 
       
    38 register_command_handler(handler_SG_get, '!server_stats', 0, 'Returns server statistics according to JEP-0039.', '!server_stats <server>', ['!server_stats njs.netlab.cz'])
       
    39