class config(Engine):
def __init__(self):
Engine.__init__(self)
+ watch('/run/gsm-state','request_carrier', self.check_carrier)
def set_service(self, state):
if state:
at_queue('+CLIP=1', None)
at_queue('+CNMI=1,1,2,0,0', None)
+ self.check_carrier()
+
+ def check_carrier(self, f = None):
+ self.block()
+ l = safe_read('/run/gsm-state/request_carrier')
+ if l == '':
+ at_queue('+COPS=0', self.got_cops, 10000)
+ else:
+ at_queue('+COPS=4,2,'+l, self.got_cops, 10000)
+
+ def got_cops(self, line):
+ self.unblock()
+ return False
add_engine(config())