5
from optparse import OptionParser, make_option
6
7
bus = dbus.SystemBus()
8
9
manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")
9
adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()),
12
make_option("-i", "--device", action="store",
13
type="string", dest="dev_id"),
15
parser = OptionParser(option_list=option_list)
17
(options, args) = parser.parse_args()
20
adapter_path = manager.FindAdapter(options.dev_id)
22
adapter_path = manager.DefaultAdapter()
24
adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path),
11
27
test = dbus.Interface(bus.get_object("org.bluez", "/org/bluez/test"),
12
28
"org.bluez.TelephonyTest")
15
31
print """Usage: %s <command>
34
if sys.argv[1] == "connect":
50
if args[0] == "connect":
36
52
print "Need device address parameter"
38
device = adapter.FindDevice(sys.argv[2])
54
device = adapter.FindDevice(args[1])
39
55
headset = dbus.Interface(bus.get_object("org.bluez", device),
40
56
"org.bluez.Headset")
44
if sys.argv[1] == "disconnect":
60
if args[0] == "disconnect":
46
62
print "Need device address parameter"
48
device = adapter.FindDevice(sys.argv[2])
64
device = adapter.FindDevice(args[1])
49
65
headset = dbus.Interface(bus.get_object("org.bluez", device),
50
66
"org.bluez.Headset")
51
67
headset.Disconnect()
54
if sys.argv[1] == "speakergain":
70
if args[0] == "speakergain":
56
72
print "Need device address parameter"
58
device = adapter.FindDevice(sys.argv[2])
74
device = adapter.FindDevice(args[1])
59
75
headset = dbus.Interface(bus.get_object("org.bluez", device),
60
76
"org.bluez.Headset")
62
headset.SetProperty('SpeakerGain', dbus.UInt16(sys.argv[3]))
78
headset.SetProperty('SpeakerGain', dbus.UInt16(args[2]))
64
80
props = headset.GetProperties()
65
81
print props['SpeakerGain']
69
if sys.argv[1] == "microphonegain":
85
if args[0] == "microphonegain":
71
87
print "Need device address parameter"
73
device = adapter.FindDevice(sys.argv[2])
89
device = adapter.FindDevice(args[1])
74
90
headset = dbus.Interface(bus.get_object("org.bluez", device),
75
91
"org.bluez.Headset")
77
headset.SetProperty('MicrophoneGain', dbus.UInt16(sys.argv[3]))
93
headset.SetProperty('MicrophoneGain', dbus.UInt16(args[2]))
79
95
props = headset.GetProperties()
80
96
print props['MicrophoneGain']
84
if sys.argv[1] == "play":
100
if args[0] == "play":
86
102
print "Need device address parameter"
88
device = adapter.FindDevice(sys.argv[2])
104
device = adapter.FindDevice(args[1])
89
105
headset = dbus.Interface(bus.get_object("org.bluez", device),
90
106
"org.bluez.Headset")
95
if sys.argv[1] == "stop":
111
if args[0] == "stop":
97
113
print "Need device address parameter"
99
device = adapter.FindDevice(sys.argv[2])
115
device = adapter.FindDevice(args[1])
100
116
headset = dbus.Interface(bus.get_object("org.bluez", device),
101
117
"org.bluez.Headset")
106
if sys.argv[1] == "outgoing":
107
if len(sys.argv) > 2:
108
test.OutgoingCall(sys.argv[2])
110
print "Need number parameter"
113
if sys.argv[1] == "incoming":
114
if len(sys.argv) > 2:
115
test.IncomingCall(sys.argv[2])
117
print "Need number parameter"
120
if sys.argv[1] == "cancel":
122
if args[0] == "outgoing":
124
test.OutgoingCall(args[1])
126
print "Need number parameter"
129
if args[0] == "incoming":
131
test.IncomingCall(args[1])
133
print "Need number parameter"
136
if args[0] == "cancel":
121
137
test.CancelCall()
124
if sys.argv[1] == "signal":
125
if len(sys.argv) > 2:
126
test.SignalStrength(sys.argv[2])
140
if args[0] == "signal":
142
test.SignalStrength(args[1])
128
144
print "Need signal strength parameter"
131
if sys.argv[1] == "battery":
132
if len(sys.argv) > 2:
133
test.BatteryLevel(sys.argv[2])
147
if args[0] == "battery":
149
test.BatteryLevel(args[1])
135
151
print "Need battery level parameter"
138
if sys.argv[1] == "roaming":
139
if len(sys.argv) > 2:
140
test.RoamingStatus(sys.argv[2] == "yes" or False)
142
print "Need yes/no parameter"
145
if sys.argv[1] == "registration":
146
if len(sys.argv) > 2:
147
test.RegistrationStatus(sys.argv[2] == "yes" or False)
149
print "Need yes/no parameter"
152
if sys.argv[1] == "subscriber":
153
if len(sys.argv) > 2:
154
test.SetSubscriberNumber(sys.argv[2])
154
if args[0] == "roaming":
156
test.RoamingStatus(args[1] == "yes" or False)
158
print "Need yes/no parameter"
161
if args[0] == "registration":
163
test.RegistrationStatus(args[1] == "yes" or False)
165
print "Need yes/no parameter"
168
if args[0] == "subscriber":
170
test.SetSubscriberNumber(args[1])
156
172
print "Need number parameter"