def processCommand(self, line, callbacks=[]):
"""
This function processes a command :-)
"""
self.proto.sendLine("a")
if callbacks == []:
callbacks = self.callbacks
self.proto.sendLine("as")
command=line.split()[0]
self.proto.sendLine("asdf")
args=line.split()[1:]
print " self.proto.sendLine() ", self.proto.sendLine("asdfasd")
#Hooks should only return something in special
#cases (IE, login plugin returning error because
#user has still not logged in)
result, message = self.__runHooks("processCommand", command, args)
self.proto.sendLine("asdf")
#Only process the command if no hook has returned error
if not result:
if self.commands.has_key(command):
#return self.commands[command](args)
newJob = self.commands[command]()
newJob.command = command
newJob.args = args
newJob.sessionManager = self
newJob.jobID = self.createJobID()
for callback in callbacks:
newJob.addCallback(callback)
self.proto.sendLine("0 Command queued as: " + str(newJob.jobID))
self.jobManager.add_job(newJob)
else:
return (-1, "Command not found")
else:
print "hook returned something:", result, message
return (result, message)