diff options
author | Yann Leboulanger <asterix@lagaule.org> | 2003-12-14 03:47:00 +0300 |
---|---|---|
committer | Yann Leboulanger <asterix@lagaule.org> | 2003-12-14 03:47:00 +0300 |
commit | d07afbaf5057945c4f7bc5fdc6115b4a7724ccc4 (patch) | |
tree | d923c0a12d58029636129da776f6515b218943b9 /core | |
parent | 42ae1c5d733f80c1ae27333de5f82217979bb38f (diff) |
register a new account on a server is now possible
Diffstat (limited to 'core')
-rw-r--r-- | core/core.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/core.py b/core/core.py index fb04a5734..8c8cb991a 100644 --- a/core/core.py +++ b/core/core.py @@ -175,6 +175,26 @@ class GajimCore: self.hub.sendPlugin('AGENT_INFO', (ev[1], agent_info)) elif ev[0] == 'REG_AGENT': self.con.sendRegInfo(ev[1]) + #('NEW_ACC', (hostname, login, password, name, ressource)) + elif ev[0] == 'NEW_ACC': + c = common.jabber.Client(host = \ + ev[1][0], debug = False, log = sys.stderr) + try: + c.connect() + except IOError, e: + log.debug("Couldn't connect to %s %s" % (hostname, e)) + return 0 + else: + log.debug("Connected to server") + c.requestRegInfo() + req = c.getRegInfo() + c.setRegInfo( 'username', ev[1][1]) + c.setRegInfo( 'password', ev[1][2]) + #FIXME: if users already exist, no error message :( + if not c.sendRegInfo(): + print "error " + c.lastErr + else: + self.hub.sendPlugin('ACC_OK', ev[1]) else: log.debug("Unknown Command") elif self.connected == 1: @@ -197,6 +217,7 @@ def loadPlugins(gc): gc.hub.register(mod, 'AGENTS') gc.hub.register(mod, 'AGENT_INFO') gc.hub.register(mod, 'QUIT') + gc.hub.register(mod, 'ACC_OK') modObj.load() # END loadPLugins |