[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82

Daniel Willmann daniel at totalueberwachung.de
Mon Feb 2 18:51:55 UTC 2009


The following commit has been merged in the master branch:
commit c2873b99d4033f7f51445fda5c28e0c67755527f
Author: Daniel Willmann <daniel at totalueberwachung.de>
Date:   Mon Jan 12 17:05:07 2009 +0100

    ogsmd: [SMS] Add an error property.
    
    The goal is that SMS parsing will not result in any Exceptions, but
    instead the error property will indicate if parsing a short message
    failed for some reason.

diff --git a/framework/subsystems/ogsmd/gsm/sms.py b/framework/subsystems/ogsmd/gsm/sms.py
index 91d8f6e..ac09b9b 100644
--- a/framework/subsystems/ogsmd/gsm/sms.py
+++ b/framework/subsystems/ogsmd/gsm/sms.py
@@ -203,6 +203,7 @@ class SMS(object):
         self.dcs_mwi_type = None
         self.dcs_mclass = None
         self.scts = []
+        self.error = []
 
     def _parse_userdata( self, ud_len, bytes ):
         offset = 0
@@ -239,7 +240,11 @@ class SMS(object):
             userdata = userdata[:septets]
 
         if not self.dcs_alphabet is None:
-            self.ud = userdata.decode( self.dcs_alphabet )
+            try:
+                self.ud = userdata.decode( self.dcs_alphabet )
+            except UnicodeError, e:
+                self.error.append("Userdata corrupt")
+                self.ud = ""
         else:
             self.ud = userdata
 
@@ -334,6 +339,8 @@ class SMS(object):
         map["type"] = self.type
         map["pid"] = self.pid
         map["alphabet"] = SMS_ALPHABET_TO_ENCODING.revlookup(self.dcs_alphabet)
+        if len(self.error) > 0:
+            map["error"] = self.error
 
         if self.type == "sms-deliver" or self.type == "sms-submit-report":
             # FIXME Return correct time with timezoneinfo

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list