From: NeilBrown Date: Mon, 14 Jan 2013 20:11:40 +0000 (+1100) Subject: gsm-getsms: use recorded SIM card id X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=21839100c080007f0a585d9f215b6acffcee874c;p=plato.git gsm-getsms: use recorded SIM card id rather than getting it again --- diff --git a/gsm/gsm-getsms.py b/gsm/gsm-getsms.py index 01eaebc..fcc0f51 100644 --- a/gsm/gsm-getsms.py +++ b/gsm/gsm-getsms.py @@ -205,6 +205,15 @@ def cvt_date(msg): dt += sep[i] + msg[i*2+1] + msg[i*2] return dt +def recall(key, nofile = ""): + try: + fd = open("/run/gsm-state/" + key) + l = fd.read(1000) + l = l.strip() + fd.close() + except IOError: + l = nofile + return l def main(): mode = 'all' @@ -238,12 +247,9 @@ def main(): sys.exit(1) # get ID of SIM card - n,c = chan.chat('AT+CIMI', ['OK', 'ERROR']) - CIMI='unknown' - for l in c: - l = l.strip() - if re.match('^\d+$', l): - CIMI = l + CIMI = recall('sim') + if not CIMI or CIMI == 'unknown': + sys.exit(1) mfile = os.path.join(dir, '.sim-mirror-'+CIMI) #FIXME lock mirror file