]> code.delx.au - pymsnt/blobdiff - src/main.py
Use vCard fullname if nickname isn't around.
[pymsnt] / src / main.py
index 4de6f428a294fcad787d92829fb749621ca695ad..8dca203aeb2e64a9518a79c633786fe14bcb6208 100644 (file)
@@ -242,10 +242,11 @@ class PyTransport(component.Service):
                mtype = el.getAttribute("type")
                s = self.sessions.get(froj.userhost(), None)
                if mtype == "error" and s:
+                       LogEvent(INFO, s.jabberID, "Removing session because of message type=error")
                        s.removeMe()
                elif s:
                        s.onMessage(el)
-               else:
+               elif mtype != "error":
                        to = el.getAttribute("to")
                        ulang = utils.getLang(el)
                        body = None
@@ -265,8 +266,12 @@ class PyTransport(component.Service):
                        LogEvent(WARN, "", "Failed stringprep.")
                        return
 
+               ptype = el.getAttribute("type")
                s = self.sessions.get(froj.userhost())
-               if s:
+               if ptype == "error" and s:
+                       LogEvent(INFO, s.jabberID, "Removing session because of message type=error")
+                       s.removeMe()
+               elif s:
                        s.onPresence(el)
                else:
                        ulang = utils.getLang(el)