本文整理汇总了Python中messaging.sms.SmsSubmit.validity方法的典型用法代码示例。如果您正苦于以下问题:Python SmsSubmit.validity方法的具体用法?Python SmsSubmit.validity怎么用?Python SmsSubmit.validity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类messaging.sms.SmsSubmit
的用法示例。
在下文中一共展示了SmsSubmit.validity方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: to_pdu
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def to_pdu(self, store=False):
"""Returns the PDU representation of this message"""
sms = SmsSubmit(self.number, self.text)
sms.csca = self.csca
sms.request_status = self.status_request
if store:
sms.validity = None
return sms.to_pdu()
示例2: test_encoding_validity
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def test_encoding_validity(self):
# no validity
number = "+34616585119"
text = "hola"
expected = "0001000B914316565811F9000004E8373B0C"
sms = SmsSubmit(number, text)
sms.ref = 0x0
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
# absolute validity
number = "+34616585119"
text = "hola"
expected = "0019000B914316565811F900000170520251930004E8373B0C"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.validity = datetime(2010, 7, 25, 20, 15, 39)
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
# relative validity
number = "+34616585119"
text = "hola"
expected = "0011000B914316565811F90000AA04E8373B0C"
expected_len = 18
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.validity = timedelta(days=4)
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
self.assertEqual(pdu.length, expected_len)
示例3: test_encoding_multipart_7bit
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def test_encoding_multipart_7bit(self):
# text encoded with umts-tools
text = "Or walk with Kings - nor lose the common touch, if neither foes nor loving friends can hurt you, If all men count with you, but none too much; If you can fill the unforgiving minute With sixty seconds' worth of distance run, Yours is the Earth and everything thats in it, And - which is more - you will be a Man, my son"
number = "655345678"
expected = [
"005100098156355476F80000AAA00500038803019E72D03DCC5E83EE693A1AB44CBBCF73500BE47ECB41ECF7BC0CA2A3CBA0F1BBDD7EBB41F4777D8C6681D26690BB9CA6A3CB7290F95D9E83DC6F3988FDB6A7DD6790599E2EBBC973D038EC06A1EB723A28FFAEB340493328CC6683DA653768FCAEBBE9A07B9A8E06E5DF7516485CA783DC6F7719447FBF41EDFA18BD0325CDA0FCBB0E1A87DD",
"005100098156355476F80000AAA005000388030240E6349B0DA2A3CBA0BADBFC969FD3F6B4FB0C6AA7DD757A19744DD3D1A0791A4FCF83E6E5F1DB4D9E9F40F7B79C8E06BDCD20727A4E0FBBC76590BCEE6681B2EFBA7C0E4ACF41747419540CCBE96850D84D0695ED65799E8E4EBBCF203A3A4C9F83D26E509ACE0205DD64500B7447A7C768507A0E6ABFE565500B947FD741F7349B0D129741",
"005100098156355476F80000AA14050003880303C2A066D8CD02B5F3A0F9DB0D",
]
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.rand_id = 136
sms.validity = timedelta(days=4)
ret = sms.to_pdu()
cnt = len(ret)
for i, pdu in enumerate(ret):
self.assertEqual(pdu.pdu, expected[i])
self.assertEqual(pdu.seq, i + 1)
self.assertEqual(pdu.cnt, cnt)
示例4: test_encoding_ucs2_message
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def test_encoding_ucs2_message(self):
number = "+34616585119"
text = u'あ叶葉'
csca = '+34646456456'
expected = "07914346466554F601000B914316565811F9000806304253F68449"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.csca = csca
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
text = u"Русский"
number = "655345678"
expected = "001100098156355476F80008AA0E0420044304410441043A04380439"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.validity = timedelta(days=4)
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
示例5: test_encoding_message_with_latin1_chars
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def test_encoding_message_with_latin1_chars(self):
# tested with pduspy.exe
number = "+34654123456"
text = u"Hölä"
expected = "0011000B914356143254F60000AA04483E7B0F"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.validity = timedelta(days=4)
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
# tested with pduspy.exe
number = "+34654123456"
text = u"BÄRÇA äñ@"
expected = "0001000B914356143254F6000009C2AD341104EDFB00"
sms = SmsSubmit(number, text)
sms.ref = 0x0
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
示例6: test_encoding_ucs2_message
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def test_encoding_ucs2_message(self):
number = codecs.decode(b'2b3334363136353835313139', 'hex').decode()
text = u'あ叶葉'
csca = '+34646456456'
expected = "07914346466554F601000B914316565811F9000806304253F68449"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.csca = csca
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
text = u"Русский"
number = codecs.decode(b'363535333435363738', 'hex').decode()
expected = "001100098156355476F80008AA0E0420044304410441043A04380439"
sms = SmsSubmit(number, text)
sms.ref = 0x0
sms.validity = timedelta(days=4)
pdu = sms.to_pdu()[0]
self.assertEqual(pdu.pdu, expected)
示例7: createSMS
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def createSMS(self,num,msg,smsc,shahash):
num=str(strip(num))
msg=str(strip(msg))
smsc=str(strip(smsc))
### Log('createSMS new msg (0): NUM: '+num+", MSG: "+msg+", SMSC: "+smsc+", LEN:"+str(len(msg))+", HASH: "+shahash)
if smsc[0] != "+" and smsc[0] != "0":
smsc = "+"+smsc
if num[0] != "0" and num[0] != "+":
num = "+"+num
Log('createSMS new msg (1): NUM: '+num+", MSG: "+msg+", SMSC: "+smsc+", LEN:"+str(len(msg))+", HASH: "+shahash)
#reaplace unusual characters and white spaces
msg=msg.replace("*","")
msg=msg.replace("[","")
msg=msg.replace("]","")
msg=msg.replace("/","")
msg=msg.replace("\\"," ")
msg=msg.replace("\t"," ")
msg=msg.replace("\n"," ")
while True:
if " " in msg:
msg=msg.replace(" "," ")
else:
break
msg=strip(msg)
if len(msg) > SMSLENGTH:
Log('createSMS cutted msg: '+msg)
msg=msg[0:SMSLENGTH]
Log(' : NUM: '+num+", MSG:"+msg+", SMSC: "+smsc+", MSGLEN:"+str(len(msg))+", ID: "+shahash)
if not USE_GSM_MODEM:
#create sms format pdu
y=strftime("%Y", gmtime())
sms = SmsSubmit(num, msg)
#validity= end of this year
sms.validity = datetime(int(y)+1, 12, 31, 23, 59, 59)
sms.csca = smsc
pdu = sms.to_pdu()[0]
s=pdu.pdu
#print s
##calculate checksum
l=0
sum=0
for i in xrange(len(s)):
if (i == 0 or i%2 == 0):
j=i+2
h= s[i:j]
#print "hex:",h
ih=int(h,16)
#print "int:",str(ih)
sum=(sum+ih) % 256
l+=1
fulllength=str((l/2)-8)
chsum=str(hex(sum))[2:]
#print "length: ",fulllength
#print "sum: ",chsum
tosend="AT^SM=32,"+fulllength+","+s+","+chsum
#print "pdu:", tosend
#try to send sms 5 times:
Log('createSMS: SMS SENDING, BODY: '+str(tosend))
msgsent=self.CommandSender(tosend,False,False,"smsout",20)
else:
if not len(self.GSMModules):
Log("ERROR! No GSM module found! Message not sent.")
return
r=randint(0,(len(self.GSMModules)-1))
usemod=str(self.GSMModules[r])
self.initTelnetConnection()
self.sendTelnetCommand("AT",False,False,'OK')
self.sendTelnetCommand("AT!G=55",False,False,'OK')
self.sendTelnetCommand("AT!G=A6",False,False,'OK')
self.sendTelnetCommand("AT&G0"+usemod+"=AT+CMGF=1",False,False,'OK')
#1
tosend='AT&G0'+usemod+'=AT+CMGS="%s"' % num
result=self.sendTelnetCommand(tosend,False,False,"++g00")
Log("USE_GSM_MODEM, step1: ",result)
#2
tosend=msg+'\x1A'
msgsent=self.sendTelnetCommand(tosend,False,False,"OK")
Log("USE_GSM_MODEM, step2: ",msgsent)
self.sendTelnetCommand("AT!G=55",False,False,'OK')
#if not sent, put back to the queue:
if not msgsent:
Log('createSMS ERROR: cannot send SMS. Put back to INQ:'+str(msgsent))
nowdate=str(strftime('%Y-%m-%d %H:%M:%S', localtime()))
sqlobj=initSQLite(True)
qry="UPDATE sms SET status = 'senderror', lastdate='"+nowdate+"' WHERE hash = '"+shahash+"'"
SQLiteExec(qry,sqlobj)
SQLiteClose(sqlobj)
###INQ.put_nowait([num,msg,smsc,shahash])
sleep(1)
return False
#.........这里部分代码省略.........
示例8: createSMS
# 需要导入模块: from messaging.sms import SmsSubmit [as 别名]
# 或者: from messaging.sms.SmsSubmit import validity [as 别名]
def createSMS(self,num,msg,smsc,shahash):
num=str(strip(num))
msg=str(strip(msg))
smsc=str(strip(smsc))
### Log('createSMS new msg (0): NUM: '+num+", MSG: "+msg+", SMSC: "+smsc+", LEN:"+str(len(msg))+", HASH: "+shahash)
if smsc[0] != "+" and smsc[0] != "0":
smsc = "+"+smsc
if num[0] != "0" and num[0] != "+":
num = "+"+num
### Log('createSMS new msg (1): NUM: '+num+", MSG: "+msg+", SMSC: "+smsc+", LEN:"+str(len(msg))+", HASH: "+shahash)
#reaplace unusual characters and white spaces
msg=msg.replace("*","")
msg=msg.replace("\t"," ")
msg=msg.replace("\n"," ")
while True:
if " " in msg:
msg=msg.replace(" "," ")
else:
break
msg=strip(msg)
if len(msg) > SMSLENGTH:
Log('createSMS cutted msg: '+msg)
msg=msg[0:SMSLENGTH]
Log('createSMS new msg: NUM: '+num+", MSG:"+msg+", SMSC: "+smsc+", MSGLEN:"+str(len(msg))+", ID: "+shahash)
#create sms format pdu
y=strftime("%Y", gmtime())
sms = SmsSubmit(num, msg)
#validity= end of this year
sms.validity = datetime(int(y)+1, 12, 31, 23, 59, 59)
sms.csca = smsc
pdu = sms.to_pdu()[0]
s=pdu.pdu
#print s
##calculate checksum
l=0
sum=0
for i in xrange(len(s)):
if (i == 0 or i%2 == 0):
j=i+2
h= s[i:j]
#print "hex:",h
ih=int(h,16)
#print "int:",str(ih)
sum=(sum+ih) % 256
l+=1
fulllength=str((l/2)-8)
chsum=str(hex(sum))[2:]
#print "length: ",fulllength
#print "sum: ",chsum
tosend="AT^SM=32,"+fulllength+","+s+","+chsum
#print "pdu:", tosend
#try to send sms 5 times:
Log('createSMS: SMS SENDING, BODY: '+str(tosend))
msgsent=self.CommandSender(tosend,False,False,"smsout",20)
#if not sent, put back to the queue:
if not msgsent:
Log('createSMS ERROR: cannot send SMS. Put back to INQ:'+str(msgsent))
nowdate=str(strftime('%Y-%m-%d %H:%M:%S', localtime()))
sqlobj=initSQLite(True)
qry="UPDATE sms SET status = 'senderror', lastdate='"+nowdate+"' WHERE hash = '"+shahash+"'"
SQLiteExec(qry,sqlobj)
SQLiteClose(sqlobj)
###INQ.put_nowait([num,msg,smsc,shahash])
sleep(1)
return False
#if sent: change status:
else:
nowdate=str(strftime('%Y-%m-%d %H:%M:%S', localtime()))
sqlobj=initSQLite(True)
qry="UPDATE sms SET status = 'sent', lastdate='"+nowdate+"' WHERE hash = '"+shahash+"'"
SQLiteExec(qry,sqlobj)
SQLiteClose(sqlobj)
Log('createSMS: SMS sent OK:'+str(msgsent))
return True