[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, debian, updated. upstream/0.9.5.5-717-g0f98819

Sebastian Krzyszkowiak seba.dos1 at gmail.com
Sat Aug 6 08:19:55 UTC 2011


The following commit has been merged in the debian branch:
commit 9892d569ba44aaf8cd20efbb906fad59feb923a1
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date:   Sun May 2 18:36:41 2010 +0200

    opimd: Messages: support message reports with fsogsmd

diff --git a/framework/subsystems/opimd/pimd_messages.py b/framework/subsystems/opimd/pimd_messages.py
index 9f2a8db..fb3326a 100644
--- a/framework/subsystems/opimd/pimd_messages.py
+++ b/framework/subsystems/opimd/pimd_messages.py
@@ -552,6 +552,7 @@ class MessagesFSO(object):
             self.imsignal.remove()
             self.ismsignal.remove()
             self.imrsignal.remove()
+            self.imrsignal2.remove()
             self.itmsignal.remove()
             self.signals = False
 
@@ -612,6 +613,7 @@ class MessagesFSO(object):
                 self.imsignal = self.gsm_sms_iface.connect_to_signal("IncomingMessage", self.handle_incoming_message)
                 self.ismsignal = self.gsm_sim_iface.connect_to_signal("IncomingStoredMessage", self.handle_incoming_stored_message)
                 self.imrsignal = self.gsm_sms_iface.connect_to_signal("IncomingMessageReceipt", self.handle_incoming_message_receipt)
+                self.imrsignal2 =self.gsm_sms_iface.connect_to_signal("IncomingMessageReport", self.handle_incoming_message_report)
                 self.itmsignal = self.gsm_sms_iface.connect_to_signal("IncomingTextMessage", self.handle_incoming_text_message)
                 logger.info("%s: Installed signal handlers", self.name)
                 self.signals = True
@@ -645,14 +647,28 @@ class MessagesFSO(object):
         self.domain.AddIncoming(entry)
 
     def handle_incoming_message_receipt(self, number, text, props):
-        path = self.domain.GetSingleEntrySingleField({'SMS-message-reference':props['message-reference'], 'Direction':'out', 'Source':'SMS', 'SMS-status-report-request':1},'Path')
+        path = self.domain.GetSingleEntrySingleField({'SMS-message-reference':props['message-reference'], 'Direction':'out', 'Source':'SMS', 'SMS-status-report-request':1, '$phonenumber':number},'Path')
         if path:
             rel_path = path.replace('/org/freesmartphone/PIM/Messages','')
             try:
                 if props['status']==0:
                     self.domain.Update({'SMS-delivered':1, 'SMS-message-reference':''}, rel_path)
                 else:
-                    self.domain.Update({'SMS-delivered':0, 'SMS-message-reference':''}, rel_path)
+                    self.domain.Update({'SMS-delivered':0, 'SMS-delivery-status':status, 'SMS-message-reference':''}, rel_path)
+            except:
+                logger.error("%s: Could not store information about delivery report for message %s!", self.name, path)
+        else:
+            logger.info("%s: Delivery report about non-existient message!", self.name)
+
+    def handle_incoming_message_report(self, id, status, number, contents):
+        path = self.domain.GetSingleEntrySingleField({'SMS-message-reference':id, 'Direction':'out', 'Source':'SMS', 'SMS-status-report-request':1, '$phonenumber':number},'Path')
+        if path:
+            rel_path = path.replace('/org/freesmartphone/PIM/Messages','')
+            try:
+                if status=='SMS_ST_COMPLETED_RECEIVED':
+                    self.domain.Update({'SMS-delivered':1, 'SMS-message-reference':''}, rel_path)
+                else:
+                    self.domain.Update({'SMS-delivered':0, 'SMS-delivery-status': status, 'SMS-message-reference':''}, rel_path)
             except:
                 logger.error("%s: Could not store information about delivery report for message %s!", self.name, path)
         else:

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list