diff options
Diffstat (limited to 'test')
-rwxr-xr-x | test/register-operator | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/register-operator b/test/register-operator new file mode 100755 index 00000000..317cdadd --- /dev/null +++ b/test/register-operator @@ -0,0 +1,39 @@ +#!/usr/bin/python3 + +import dbus +import sys + +bus = dbus.SystemBus() + +if len(sys.argv) == 4: + path = sys.argv[1] + mcc = sys.argv[2] + mnc = sys.argv[3] +elif len(sys.argv) == 3: + manager = dbus.Interface(bus.get_object('org.ofono', '/'), + 'org.ofono.Manager') + modems = manager.GetModems() + path = modems[0][0] + mcc = sys.argv[1] + mnc = sys.argv[2] +else: + print("%s [path] <mcc> <mnc>" % (sys.argv[0])) + sys.exit(0) + +netreg = dbus.Interface(bus.get_object('org.ofono', path), + 'org.ofono.NetworkRegistration') + +operators = netreg.GetOperators() +for path, properties in operators: + if properties['MobileCountryCode'] != mcc: + continue + + if properties['MobileNetworkCode'] != mnc: + continue + + operator = dbus.Interface(bus.get_object('org.ofono', path), + 'org.ofono.NetworkOperator') + operator.Register() + sys.exit(0) + +print("No operator matching mcc: %s, mnc: %s found" % (mcc, mnc)) |