summaryrefslogtreecommitdiff
path: root/test/register-operator
blob: 317cdaddb652f3399cc818ac2cb192a42a8eb47e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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))