Add auto-split long SMS feature
This commit is contained in:
parent
60fc16756a
commit
698d7502b0
1 changed files with 27 additions and 0 deletions
27
mail2sms
27
mail2sms
|
@ -123,6 +123,26 @@ def mail_address_to_phone_number(txt):
|
|||
return False
|
||||
|
||||
def send_sms(recipient, text):
|
||||
if len(text) > 160 and options.split:
|
||||
logging.debug('Text contain more than 160 caracteres : split in multiple SMS')
|
||||
start=0
|
||||
while True:
|
||||
if start > len(text)-1:
|
||||
break
|
||||
if start==0:
|
||||
stop=start+157
|
||||
msg=text[start:stop]+u'...'
|
||||
else:
|
||||
stop=start+154
|
||||
if stop>=(len(text)-1):
|
||||
msg=u'...'+text[start:]
|
||||
else:
|
||||
msg=u'...'+text[start:stop]+u'...'
|
||||
|
||||
if not send_sms(recipient, msg):
|
||||
return False
|
||||
start=stop
|
||||
return True
|
||||
url_params={
|
||||
'phone': recipient,
|
||||
'text': text.encode('utf8')
|
||||
|
@ -139,6 +159,7 @@ def send_sms(recipient, text):
|
|||
''
|
||||
]
|
||||
url=urlparse.urlunparse(url_parts)
|
||||
logging.debug(u'Send SMS using url : %s' % url)
|
||||
try:
|
||||
request=urllib2.urlopen(url, timeout=options.smstimeout)
|
||||
data=request.read()
|
||||
|
@ -200,6 +221,12 @@ parser.add_option('-l',
|
|||
dest="logfile",
|
||||
help="Log file path")
|
||||
|
||||
parser.add_option('-s',
|
||||
'--auto-split',
|
||||
action="store_true",
|
||||
dest="split",
|
||||
help="Auto split long SMS by small SMS of 160 characters")
|
||||
|
||||
parser.add_option('-b',
|
||||
'--backup-mail',
|
||||
action="store",
|
||||
|
|
Loading…
Reference in a new issue