From 0d4d89054ae11780c719796d5218a944c76c9f66 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Thu, 29 Mar 2012 19:44:12 +0200 Subject: umtsmodem: don't crash if modem is not connected; add start/stop options which do not connect to the internet --- umtsmodem.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/umtsmodem.py b/umtsmodem.py index d0afaea..59280e4 100755 --- a/umtsmodem.py +++ b/umtsmodem.py @@ -54,8 +54,13 @@ def print_state(modem): modem.readlines() for line in response: if line.startswith('+CREG: '): - lac = int(line.rstrip()[7:].split(',')[2].strip('"'), 16) - cellid = int(line.rstrip()[7:].split(',')[3].strip('"'), 16) + results = line.rstrip()[7:].split(',') + if len(results) == 4: + lac = int(results[2].strip('"'), 16) + cellid = int(results[3].strip('"'), 16) + else: + lac = -1 + cellid = -1 break print "MCC: " + mcc + ", MNC: " + mnc + ", LAC: " + str(lac) + ", CellID: " + str(cellid) @@ -82,7 +87,7 @@ def stop_modem(modem): def show_usage(): - print "Usage: " + sys.argv[0] + " [connect|disconnect|state]" + print "Usage: " + sys.argv[0] + " [start|stop|connect|disconnect|state]" if len(sys.argv) != 2: show_usage() @@ -91,7 +96,11 @@ if len(sys.argv) != 2: modem = serial.Serial(modem_device, timeout=0.5) modem.readlines() -if sys.argv[1] == "connect": +if sys.argv[1] == "start": + start_modem(modem) +elif sys.argv[1] == "stop": + stop_modem(modem) +elif sys.argv[1] == "connect": start_modem(modem) connect(modem) elif sys.argv[1] == "disconnect": -- cgit v1.2.3