EncryptedSession cannot be an ArchivingSession

This commit is contained in:
Yann Leboulanger 2009-12-10 17:40:48 +01:00
parent 47ff962e5b
commit d1a9a6983a
3 changed files with 8 additions and 5 deletions

View File

@ -2060,7 +2060,8 @@ class ChatControl(ChatControlBase):
"""
Print esession settings to textview
"""
archiving = bool(self.session) and self.session.archiving
archiving = bool(self.session) and isinstance(self.session,
ArchivingStanzaSession) and self.session.archiving
if archiving:
msg = _('This session WILL be archived on server')
else:

View File

@ -287,7 +287,7 @@ class ArchivingStanzaSession(StanzaSession):
self.control.print_archiving_session_details()
class EncryptedStanzaSession(ArchivingStanzaSession):
class EncryptedStanzaSession(StanzaSession):
'''
An encrypted stanza negotiation has several states. They arerepresented as
the following values in the 'status' attribute of the session object:
@ -313,7 +313,7 @@ class EncryptedStanzaSession(ArchivingStanzaSession):
handle_session_negotiation method.
'''
def __init__(self, conn, jid, thread_id, type_='chat'):
ArchivingStanzaSession.__init__(self, conn, jid, thread_id, type_='chat')
StanzaSession.__init__(self, conn, jid, thread_id, type_='chat')
self.xes = {}
self.es = {}

View File

@ -166,11 +166,13 @@ class MessageControl:
crypto_changed = bool(session and isinstance(session,
EncryptedStanzaSession) and session.enable_encryption) != \
bool(oldsession and oldsession.enable_encryption)
bool(oldsession and isinstance(oldsession, EncryptedStanzaSession) and\
oldsession.enable_encryption)
archiving_changed = bool(session and isinstance(session,
ArchivingStanzaSession) and session.archiving) != \
bool(oldsession and oldsession.archiving)
bool(oldsession and isinstance(oldsession, ArchivingStanzaSession) and\
oldsession.archiving)
if crypto_changed or archiving_changed:
self.print_session_details()