# includes/content.py # # module version: 0.0.20130424 # class content: # handler the content def handler(client_address, data, aliases, server_version, protocol_version, verbosity): ret = "" ret = ret +\ "{BEGIN}\n"\ "asrcp" + protocol_version + "\n" # Look if the received message is an # valid alias or a predefined command # if it's 'version', return the server and protocol version if data == "version": if verbosity >= 2: print("Got valid service command from" + str(client_address) + ": ", data) ret = ret +\ "202 Valid Service Command\n"\ "002 Version\n"\ "ServerVersion:" + server_version + "\n"\ "ProtocolVersion:" + protocol_version + "\n" # if it's 'help', give a little help elif data == 'help': if verbosity >= 2: print("Got valid command from" + str(client_address) + ": ", data) # send status code ret = ret + "202 Valid Service Command\n\n" # send the list of aliases ret = ret + "Aviable aliases:\n" for i in aliases.keys(): ret = ret + str(i) + "\n" # if it's a valid userdefined command elif data in aliases: # send status code ret = ret + "201 Valid Command\n\n" # ohmagawd! a debug message!!1! if verbosity >= 2: print("Got valid command from" + str(client_address) + ": ", data) # execute the aliased command g_dict, l_dict = {}, {} exec(str(aliases[data]), g_dict, l_dict) # send may contain data to send to the client if l_dict["send"]: content = str(l_dict["send"]).replace('{', '\{') content = content.replace('}', '\}') ret = ret + content + "\n" # ALL IS LOST!!1! this has to be invalid! else: # send status code ret = ret + "203 Invalid Command\n" if verbosity >= 2: print("Got invalid command from", str(client_address), ": ", data) ret = ret + "{END}\n" return ret