Philipp Hörist pushed to branch master at gajim / gajim

Commits:
3c823d30 by Philipp Hörist at 2017-11-04T13:51:12+01:00
Save oob data also on MAM Messages

- add get_oob_data() so we can use it on more than one event
- also remove a forgotten print call

- - - - -


3 changed files:

- gajim/common/connection_handlers_events.py
- gajim/common/message_archiving.py
- gajim/conversation_textview.py


Changes:

=====================================
gajim/common/connection_handlers_events.py
=====================================
--- a/gajim/common/connection_handlers_events.py
+++ b/gajim/common/connection_handlers_events.py
@@ -127,6 +127,18 @@ class HelperEvent:
                     self.chatstate = child.getName()
                     break
 
+    def get_oob_data(self, stanza):
+        oob_node = stanza.getTag('x', namespace=nbxmpp.NS_X_OOB)
+        if oob_node is not None:
+            if 'gajim' not in self.additional_data:
+                self.additional_data['gajim'] = {}
+            oob_url = oob_node.getTagData('url')
+            if oob_url is not None:
+                self.additional_data['gajim']['oob_url'] = oob_url
+            oob_desc = oob_node.getTagData('desc')
+            if oob_desc is not None:
+                self.additional_data['gajim']['oob_desc'] = oob_desc
+
 class HttpAuthReceivedEvent(nec.NetworkIncomingEvent):
     name = 'http-auth-received'
     base_network_events = []
@@ -1097,6 +1109,9 @@ class 
MamDecryptedMessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
             # For example Chatstates, Receipts, Chatmarkers
             log.debug('Received MAM message without text')
             return
+
+        self.get_oob_data(self.msg_)
+
         self.is_pm = app.logger.jid_is_room_jid(self.with_.getStripped())
         if self.is_pm is None:
             # Check if this event is triggered after a disco, so we dont
@@ -1451,14 +1466,7 @@ class 
DecryptedMessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
 
         self.get_chatstate()
 
-        oob_node = self.stanza.getTag('x', namespace=nbxmpp.NS_X_OOB)
-        if oob_node is not None:
-            self.oob_url = oob_node.getTagData('url')
-            if self.oob_url is not None:
-                self.additional_data['gajim'] = {'oob_url': self.oob_url}
-            self.oob_desc = oob_node.getTagData('desc')
-            if self.oob_desc is not None:
-                self.additional_data['gajim'] = {'oob_desc': self.oob_desc}
+        self.get_oob_data(self.stanza)
 
         replace = self.stanza.getTag('replace', namespace=nbxmpp.NS_CORRECT)
         if replace:


=====================================
gajim/common/message_archiving.py
=====================================
--- a/gajim/common/message_archiving.py
+++ b/gajim/common/message_archiving.py
@@ -133,7 +133,8 @@ class ConnectionArchive313:
             app.logger.insert_into_logs(
                 obj.with_, obj.timestamp, obj.kind,
                 unread=False,
-                message=obj.msgtxt)
+                message=obj.msgtxt,
+                additional_data=obj.additional_data)
 
     def get_query_id(self):
         self.mam_query_id = self.connection.getAnID()


=====================================
gajim/conversation_textview.py
=====================================
--- a/gajim/conversation_textview.py
+++ b/gajim/conversation_textview.py
@@ -848,7 +848,6 @@ class ConversationTextview(GObject.GObject):
         try:
             gajim_data = additional_data['gajim']
             oob_url = gajim_data['oob_url']
-            print(oob_url)
         except KeyError:
             pass
         else:



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/3c823d307d81e87f210daaffd52f6540e2de356c

---
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/3c823d307d81e87f210daaffd52f6540e2de356c
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to