From f592d01220c611faa588b48861baac3c828d33c2 Mon Sep 17 00:00:00 2001 From: qo-op Date: Thu, 15 Jul 2021 04:36:54 +0200 Subject: [PATCH] read/del one sms --- pygsm/text.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/pygsm/text.py b/pygsm/text.py index 85135ba..d8e5e55 100755 --- a/pygsm/text.py +++ b/pygsm/text.py @@ -21,6 +21,7 @@ parser_send.add_argument('-m', '--message', help='message contents', metavar='ME parser_read = subparsers.add_parser('read', help='read text messages') parser_read.add_argument('-i', '--interface', help='serial interface', metavar='TTY', required=True) +parser_read.add_argument('-n', '--number', help='sms number', metavar='TTY', required=True) @@ -56,13 +57,40 @@ def readMessage(phone): finally: phone.close() - +def readOne(phone): + try: + time.sleep(0.5) + phone.write(b'AT+CMGL=1\r') + read = phone.readlines() + badChars = ['OK', 'AT'] + for msg in read: + if not any(x in str(msg) for x in badChars): + print(str(msg.decode("utf-8"))) + time.sleep(0.5) + finally: + phone.close() + +def delOne(phone): + try: + time.sleep(0.5) + phone.write(b'AT+CMGD=1\r') + read = phone.readlines() + badChars = ['OK', 'AT'] + for msg in read: + if not any(x in str(msg) for x in badChars): + print(str(msg.decode("utf-8"))) + time.sleep(0.5) + finally: + phone.close() + def main(): phone = serial.Serial(args.interface, 115200, timeout=5) if sys.argv[1] == 'send': sendText(phone, args.recipient, args.message) elif sys.argv[1] == 'read': readMessage(phone) + elif sys.argv[1] == 'one': + readOne(phone) else: parser.print_help()