[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82
Michael 'Mickey' Lauer
mickey at vanille-media.de
Mon Feb 2 18:51:26 UTC 2009
The following commit has been merged in the master branch:
commit bd214ae2f96c16823ec06bd1f2198e04df63d911
Merge: ec3c0647d8a11f487ab2ace41e89720942963577 0f385d322734d5795e2b934c3751854e22136d48
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Thu Nov 27 21:24:54 2008 +0100
Merge commit 'origin/stabilization/milestone4'
diff --combined framework/subsystems/ogsmd/gsm/const.py
index 8cd7be9,147da10..73ce62f
--- a/framework/subsystems/ogsmd/gsm/const.py
+++ b/framework/subsystems/ogsmd/gsm/const.py
@@@ -14,7 -14,6 +14,7 @@@ GSM constants, strings, formats, parse
"""
import re
+import string
from ogsmd.helpers import BiDict
import logging
@@@ -51,8 -50,11 +51,11 @@@ PAT_SMS_PDU_HEADER = re.compile( '(?P<i
# +CMGR: "REC READ","Alice-Team",,"08/05/13,09:12:15+08",208,133
PAT_SMS_TEXT_HEADER_SINGLE = re.compile( '"(?P<status>[^"]+)","(?P<number>[^"]+)",(?:"(?P<name>[^"]+)")?,(?:"(?P<timestamp>[^"]+)")?,(?P<ntype>\d+),(?P<textlen>\d+)' )
+ # +CMGR: 1,"",155
PAT_SMS_PDU_HEADER_SINGLE = re.compile( '(?P<status>\d+),(?:"(?P<name>[^"]*)")?,(?P<pdulen>\d+)' )
+ # "foo"
+ # ""
PAT_STRING = re.compile( r'''"([^"]+?)"''' )
# call forwarding
@@@ -724,9 -726,6 +727,9 @@@ CB_PDU_DCS_LANGUAGE = [ "German", "Engl
"Dutch", "Swedish", "Danish", "Portuguese", "Finnish",
"Norwegian", "Greek", "Turkish", "Hungarian", "Polish", None]
+#=========================================================================#
+PDUADDR_DEC_TRANS = string.maketrans("abcde", "*#abc")
+PDUADDR_ENC_TRANS = string.maketrans("*#abc", "abcde")
#=========================================================================#
CALL_DIRECTION = { \
@@@ -803,12 -802,6 +806,12 @@@ NETWORK_USSD_MODE = {
}
#=========================================================================#
+NETWORK_CIPHER_STATUS = { \
+ 0: "disabled",
+ 1: "enabled",
+}
+
+#=========================================================================#
# PDU TP definitions follow here according to the appearance in GSM 03.40
# chapter 9.2.3
TP_MTI_INCOMING = { \
@@@ -1034,7 -1027,6 +1037,7 @@@ def phonebookTupleToNumber( nstring, nt
"""
# FIXME unknown types seen so far: 185, 208, 255
+ # type128: network TR TCELL appears to use it as 4 digit intracompany calls
if ntype not in ( 129, 145 ):
logger.warning( "Out-of-spec GSM number type seen: %s. Please report." % ntype )
diff --combined framework/subsystems/ogsmd/modems/abstract/mediator.py
index 1e3ab9c,491c4ed..db061b8
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@@ -21,7 -21,7 +21,7 @@@ TODO
* refactor parameter validation
"""
- __version__ = "0.9.10.1"
+ __version__ = "0.9.10.2"
from ogsmd.gsm import error, const, convert
from ogsmd.gsm.decor import logged
@@@ -441,7 -441,9 +441,9 @@@ class SimGetAuthCodeRequired( SimMediat
if response[-1] != "OK":
SimMediator.responseFromChannel( self, request, response )
else:
- self._ok( self._rightHandSide( response[0] ) == "1" )
+ # we only look at the status parameter, we ignore the class parameters
+ values = self._rightHandSide( response[0] ).split( ',' )
+ self._ok( values[0] == "1" )
#=========================================================================#
class SimSetAuthCodeRequired( SimMediator ):
@@@ -770,15 -772,15 +772,15 @@@ class SimRetrieveMessagebook( SimMediat
index = int(header.groupdict()["index"])
status = const.SMS_PDU_STATUS_OUT[int(header.groupdict()["status"])]
if "read" in status:
- dir = "MT"
+ direction = "MT"
else:
- dir = "MO"
+ direction = "MO"
length = int(header.groupdict()["pdulen"])
else:
# Now we decode the actual PDU
- sms = ogsmd.gsm.sms.decodeSMS( line, dir)
- result.append( ( index, status, str(sms.oa), sms.ud, sms.featureMap ) )
+ sms = ogsmd.gsm.sms.SMS.decode( line, direction )
+ result.append( ( index, status, str(sms.oa), sms.ud, sms.properties ) )
self._ok( result )
else:
SimMediator.responseFromChannel( self, request, response )
@@@ -801,14 -803,14 +803,14 @@@ class SimRetrieveMessage( SimMediator )
header = const.PAT_SMS_PDU_HEADER_SINGLE.match( self._rightHandSide(line) )
status = const.SMS_PDU_STATUS_OUT[int(header.groupdict()["status"])]
if "read" in status:
- dir = "MT"
+ direction = "MT"
else:
- dir = "MO"
+ direction = "MO"
length = int(header.groupdict()["pdulen"])
else:
# Now we decode the actual PDU
- sms = ogsmd.gsm.sms.decodeSMS( line, dir )
- result = ( status, str(sms.oa), sms.ud, sms.featureMap )
+ sms = ogsmd.gsm.sms.SMS.decode( line, direction )
+ result = ( status, str(sms.oa), sms.ud, sms.properties )
self._ok( *result )
@@@ -824,14 -826,14 +826,14 @@@ class SimSetServiceCenterNumber( SimMed
class SimStoreMessage( SimMediator ):
#=========================================================================#
def trigger( self ):
- sms = ogsmd.gsm.sms.AbstractSMS("MO")
+ sms = ogsmd.gsm.sms.SMS("MO")
sms.pdu_mti = 1
sms.pid = 0
sms.dcs = 0
# Use PDUAddress
sms.oa = ogsmd.gsm.sms.PDUAddress.guess( self.number )
sms.ud = self.contents
- sms.featureMap = self.featuremap
+ sms.properties = self.properties
pdu = sms.pdu()
self._commchannel.enqueue( '+CMGW=%i\r%s' % ( len(pdu)/2-1, pdu), self.responseFromChannel, self.errorFromChannel, timeout=const.TIMEOUT["SIMACCESS"])
@@@ -872,14 -874,14 +874,14 @@@ class SimDeleteMessage( SimMediator )
class SmsSendMessage( SmsMediator ):
#=========================================================================#
def trigger( self ):
- sms = ogsmd.gsm.sms.AbstractSMS("MO")
+ sms = ogsmd.gsm.sms.SMS("MO")
sms.pdu_mti = 1
sms.pid = 0
sms.dcs = 0
# Use PDUAddress
sms.oa = ogsmd.gsm.sms.PDUAddress.guess( self.number )
sms.ud = self.contents
- sms.featureMap = self.featuremap
+ sms.properties = self.properties
pdu = sms.pdu()
self._commchannel.enqueue( '+CMGS=%i\r%s' % ( len(pdu)/2-1, pdu), self.responseFromChannel, self.errorFromChannel, timeout=const.TIMEOUT["NETWORK"])
@@@ -1004,17 -1006,19 +1006,17 @@@ class NetworkRegisterWithProvider( Netw
class NetworkGetCountryCode( NetworkMediator ):
#=========================================================================#
def trigger( self ):
- self._commchannel.enqueue( "+COPS=3,2;+COPS?", self.responseFromChannel, self.errorFromChannel )
+ self._commchannel.enqueue( "+COPS=3,2;+COPS?;+COPS=3,0", self.responseFromChannel, self.errorFromChannel )
def responseFromChannel( self, request, response ):
- if response[-1] != "OK":
- NetworkMediator.responseFromChannel( self, request, response )
- else:
- values = safesplit( self._rightHandSide( response[0] ), ',' )
- if len( values ) > 2:
+ if response[-1] == "OK" and len( response ) > 1:
+ values = self._rightHandSide( response[0] ).split( ',' )
+ if len( values ) != 3:
+ self._error( error.NetworkNotFound( "Not registered to any provider" ) )
+ else:
mcc = int( values[2].strip( '"' )[:3] )
code, name = const.mccToCountryCode( mcc )
self._ok( code, name )
- else:
- self._error( error.NetworkNotFound( "Not registered to any provider." ) )
#=========================================================================#
class NetworkGetCallForwarding( NetworkMediator ): # a{sv}
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list