Add/Modify Events to handle all MAM namespaces
This commit is contained in:
parent
1d2320b0bb
commit
f8a028b553
1 changed files with 49 additions and 11 deletions
|
@ -1187,8 +1187,10 @@ class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
|
||||||
return
|
return
|
||||||
self.forwarded = True
|
self.forwarded = True
|
||||||
|
|
||||||
result = self.stanza.getTag('result', namespace=nbxmpp.NS_MAM)
|
result = self.stanza.getTag('result')
|
||||||
if result:
|
if result and result.getNamespace() in (nbxmpp.NS_MAM,
|
||||||
|
nbxmpp.NS_MAM_1,
|
||||||
|
nbxmpp.NS_MAM_2):
|
||||||
forwarded = result.getTag('forwarded', namespace=nbxmpp.NS_FORWARD)
|
forwarded = result.getTag('forwarded', namespace=nbxmpp.NS_FORWARD)
|
||||||
gajim.nec.push_incoming_event(MamMessageReceivedEvent(None,
|
gajim.nec.push_incoming_event(MamMessageReceivedEvent(None,
|
||||||
conn=self.conn, stanza=forwarded))
|
conn=self.conn, stanza=forwarded))
|
||||||
|
@ -1793,12 +1795,11 @@ class Archiving313PreferencesChangedReceivedEvent(nec.NetworkIncomingEvent):
|
||||||
self.default = None
|
self.default = None
|
||||||
self.id = self.stanza.getID()
|
self.id = self.stanza.getID()
|
||||||
self.answer = None
|
self.answer = None
|
||||||
|
prefs = self.stanza.getTag('prefs')
|
||||||
|
|
||||||
if self.type_ != 'result':
|
if self.type_ != 'result' or not prefs:
|
||||||
return
|
return
|
||||||
|
|
||||||
prefs = self.stanza.getTag('prefs', namespace=nbxmpp.NS_MAM)
|
|
||||||
if prefs:
|
|
||||||
self.default = prefs.getAttr('default')
|
self.default = prefs.getAttr('default')
|
||||||
|
|
||||||
for item in prefs.getTag('always').getTags('jid'):
|
for item in prefs.getTag('always').getTags('jid'):
|
||||||
|
@ -1806,8 +1807,45 @@ class Archiving313PreferencesChangedReceivedEvent(nec.NetworkIncomingEvent):
|
||||||
|
|
||||||
for item in prefs.getTag('never').getTags('jid'):
|
for item in prefs.getTag('never').getTags('jid'):
|
||||||
self.items.append((item.getData(), 'Never'))
|
self.items.append((item.getData(), 'Never'))
|
||||||
else:
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
class ArchivingFinishedReceivedEvent(nec.NetworkIncomingEvent):
|
||||||
|
name = 'archiving-finished'
|
||||||
|
base_network_events = ['archiving-received']
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
self.conn = self.base_event.conn
|
||||||
|
self.stanza = self.base_event.stanza
|
||||||
|
self.type_ = self.base_event.type_
|
||||||
|
self.fin = self.stanza.getTag('fin')
|
||||||
|
|
||||||
|
if self.type_ != 'result' or not self.fin:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self.queryid = self.fin.getAttr('queryid')
|
||||||
|
if not self.queryid:
|
||||||
|
return
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
class ArchivingFinishedLegacyReceivedEvent(nec.NetworkIncomingEvent):
|
||||||
|
name = 'archiving-finished-legacy'
|
||||||
|
base_network_events = ['raw-message-received']
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
self.conn = self.base_event.conn
|
||||||
|
self.stanza = self.base_event.stanza
|
||||||
|
self.type_ = self.base_event.type_
|
||||||
|
self.fin = self.stanza.getTag('fin', namespace=nbxmpp.NS_MAM)
|
||||||
|
|
||||||
|
if not self.fin:
|
||||||
|
return
|
||||||
|
|
||||||
|
self.queryid = self.fin.getAttr('queryid')
|
||||||
|
if not self.queryid:
|
||||||
|
return
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
class AccountCreatedEvent(nec.NetworkIncomingEvent):
|
class AccountCreatedEvent(nec.NetworkIncomingEvent):
|
||||||
|
|
Loading…
Add table
Reference in a new issue