Example #1
0
 def testConvert7bitToOctet(self):
     octets = bit7alphabet.convert7BitToOctet('hallo123')
     result = ''
     for octet in octets: result += "%X" % octet
     self.assertEqual('E8309BFD8EC966', result)
     
     octets = bit7alphabet.convert7BitToOctet('hallo1234')
     result = ''
     for octet in octets: result += "%X" % octet
     self.assertEqual('E8309BFD8EC96634', result)
Example #2
0
    def testConvert7bitToOctet(self):
        octets = bit7alphabet.convert7BitToOctet('hallo123')
        result = ''
        for octet in octets:
            result += "%X" % octet
        self.assertEqual('E8309BFD8EC966', result)

        octets = bit7alphabet.convert7BitToOctet('hallo1234')
        result = ''
        for octet in octets:
            result += "%X" % octet
        self.assertEqual('E8309BFD8EC96634', result)
Example #3
0
    def __createMultiPartPDU7Bit(self):
        charactersPerPart   = self.__characters7BitPart
        charactersLeft      = self.__msgLength
        parts               = self.getNumMessages()
       
        pduMessages = []
        for i in range(0, parts):
            pduMsg = []
            finalPart = charactersLeft <= charactersPerPart
            
            startIndex = i * charactersPerPart
            if finalPart:
                endIndex = startIndex + charactersLeft
            else:
                endIndex = startIndex + charactersPerPart
            udh = self.__createUDHHeader(i+1, parts)
            
            #prepend 7 @ (0x00 in 7bit) characters to the message to have correcrt 7-bit padding after udh
            data = bit7alphabet.convert7BitToOctet('@@@@@@@' + self.__message[startIndex:endIndex])
            
            #overwrite the prepended zeros with udh header
            for index in range(0, len(udh)):
                data[index] = udh[index]

            pduMsg.append(self.__createPDUHeader(i + 1))
            pduMsg.append(self.__byteToString((endIndex - startIndex) + 7)) #dataLength in septets
            pduMsg.append(self.__bytesToString(data))

            pduMessages.append(''.join(pduMsg))
            charactersLeft -= charactersPerPart
            
        return pduMessages
Example #4
0
    def __createMultiPartPDU7Bit(self):
        charactersPerPart = self.__characters7BitPart
        charactersLeft = self.__msgLength
        parts = self.getNumMessages()

        pduMessages = []
        for i in range(0, parts):
            pduMsg = []
            finalPart = charactersLeft <= charactersPerPart

            startIndex = i * charactersPerPart
            if finalPart:
                endIndex = startIndex + charactersLeft
            else:
                endIndex = startIndex + charactersPerPart
            udh = self.__createUDHHeader(i + 1, parts)

            #prepend 7 @ (0x00 in 7bit) characters to the message to have correcrt 7-bit padding after udh
            data = bit7alphabet.convert7BitToOctet(
                '@@@@@@@' + self.__message[startIndex:endIndex])

            #overwrite the prepended zeros with udh header
            for index in range(0, len(udh)):
                data[index] = udh[index]

            pduMsg.append(self.__createPDUHeader(i + 1))
            pduMsg.append(self.__byteToString((endIndex - startIndex) +
                                              7))  #dataLength in septets
            pduMsg.append(self.__bytesToString(data))

            pduMessages.append(''.join(pduMsg))
            charactersLeft -= charactersPerPart

        return pduMessages
Example #5
0
 def __createSinglePartPDU(self):
     pduMsg = []
     pduMsg.append(self.__createPDUHeader())
     
     if self.__is7Bit:
         msg7Bit = bit7alphabet.convert7BitToOctet(self.__message)
         pduMsg.append(self.__byteToString(self.__msgLength))
         pduMsg.append(self.__bytesToString(msg7Bit))
     else:
         pduMsg.append(self.__byteToString(self.__msgLength * 2))
         pduMsg.append(self.__unicodeCharsToString(self.__message))
         
     return ''.join(pduMsg)
Example #6
0
    def __createSinglePartPDU(self):
        pduMsg = []
        pduMsg.append(self.__createPDUHeader())

        if self.__is7Bit:
            msg7Bit = bit7alphabet.convert7BitToOctet(self.__message)
            pduMsg.append(self.__byteToString(self.__msgLength))
            pduMsg.append(self.__bytesToString(msg7Bit))
        else:
            pduMsg.append(self.__byteToString(self.__msgLength * 2))
            pduMsg.append(self.__unicodeCharsToString(self.__message))

        return ''.join(pduMsg)