X-Git-Url: https://git.rvb.name/openhab-process.git/blobdiff_plain/e510b8ef776ca591d62fb19203e98e19d3d4fcda..2af8af9a8a9c4eded3bd40021547e1fd5a0e85ec:/mqtt-agi/clear-sms-spool diff --git a/mqtt-agi/clear-sms-spool b/mqtt-agi/clear-sms-spool new file mode 100644 index 0000000..b8814b4 --- /dev/null +++ b/mqtt-agi/clear-sms-spool @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +reload(sys) +sys.setdefaultencoding('utf-8') + +from ConfigParser import ConfigParser +import paho.mqtt.client as paho +from pymessaging.sms import SmsDeliver + +import sqlite3 +from sqlite3 import Error + +from tempfile import mkstemp +from shutil import move + +conffile = sys.argv[1:2] + +config = ConfigParser() +config.add_section('sms') +# set defaults for anonymous auth +config.set('sms', 'tmpfile', '/tmp/sms.db') +config.read(conffile) + +sms_db = config.get('sms','tmpfile') + +try: + conn = sqlite3.connect(sms_db) + + cur = conn.cursor() + cur.execute("select ref from sms_parts group by ref having max(datetime) is null or (julianday('now')-julianday(max(datetime)))>0.005;") + refs=cur.fetchall() + for ref in refs: + cur.execute("select text from sms_parts where ref=%s order by seq" % (ref)) + full_text=''.join(rec[0] for rec in cur.fetchall()).replace("\"","") + f,path=mkstemp(suffix=".call") + f=open(path,"w") + f.write("Application: Dial\n") + f.write("Channel: Local/smsraw@DID_mobile\n") + f.write("Context: smsraw\n") + f.write("Setvar: SMS_FULL_TEXT=%s" % full_text) + f.close() + move(path,'/var/spool/asterisk/outgoing') + cur.execute("delete from sms_parts where ref=%s" % (ref)) + conn.commit() + +except: + None \ No newline at end of file