Close the connection on logout and avoid trying to use the same connection on the next login :p

see #139
This commit is contained in:
Antoine Nguyen
2011-07-02 18:33:28 +02:00
parent b9e798aba8
commit 01153fa2c9
2 changed files with 25 additions and 6 deletions
+11 -6
View File
@@ -31,14 +31,19 @@ class SieveClient(object):
except Error, e:
return False, _("Connection to MANAGESIEVE server failed, check your configuration")
return True, None
def logout(self):
self.msc.logout()
self.msc = None
def refresh(self, user, password):
try:
self.msc.capability()
except Error, e:
pass
else:
return
if self.msc is not None:
try:
self.msc.capability()
except Error, e:
pass
else:
return
try:
ret, msg = self.login(user, password)
except Error, e:
+14
View File
@@ -7,6 +7,7 @@ from sievelib.managesieve import SUPPORTED_AUTH_MECHS
def init():
events.register("UserMenuDisplay", menu)
events.register("UserLogout", userlogout)
parameters.register_admin("SERVER", type="string",
deflt="127.0.0.1",
@@ -55,3 +56,16 @@ def menu(**kwargs):
"url" : reverse(views.index),
"img" : static_url("pics/filters.png")}
]
def userlogout(**kwargs):
from lib import SieveClient
if kwargs["request"].user.id == 1:
return
try:
sc = SieveClient(user=kwargs["request"].user.username,
password=kwargs["request"].session["password"])
except Exception, e:
pass
else:
sc.logout()