~xubuntu-dev/ubiquity/lp1437180_feh

« back to all changes in this revision

Viewing changes to bin/ubiquity-bluetooth-agent

  • Committer: Colin Watson
  • Date: 2012-07-16 14:29:13 UTC
  • Revision ID: cjwatson@canonical.com-20120716142913-hh1qmfjejxa9dfyb
Make all Python code pass pep8(1), and add a test to enforce this.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
import dbus.mainloop.glib
9
9
from gi.repository import GObject
10
10
 
 
11
 
11
12
class Rejected(dbus.DBusException):
12
13
    _dbus_error_name = "org.bluez.Error.Rejected"
13
14
 
 
15
 
14
16
class Agent(dbus.service.Object):
15
17
    exit_on_release = True
16
18
 
22
24
        if self.exit_on_release:
23
25
            mainloop.quit()
24
26
 
25
 
    @dbus.service.method("org.bluez.Agent", in_signature="os", out_signature="")
 
27
    @dbus.service.method("org.bluez.Agent",
 
28
                         in_signature="os", out_signature="")
26
29
    def Authorize(self, device, uuid):
27
30
        bus = dbus.SystemBus()
28
 
        attr = dbus.Interface(bus.get_object("org.bluez", device), "org.bluez.Device").GetProperties()
 
31
        attr = dbus.Interface(
 
32
            bus.get_object("org.bluez", device),
 
33
            "org.bluez.Device").GetProperties()
29
34
 
30
35
        # Only accept input (HID) devices
31
36
        if 'Class' in attr:
32
37
            if (attr['Class'] & 0x500) == 0x500:
33
 
                dbus.Interface(bus.get_object("org.bluez", device), "org.bluez.Device").SetProperty("Trusted", True)
 
38
                dbus.Interface(
 
39
                    bus.get_object("org.bluez", device),
 
40
                    "org.bluez.Device").SetProperty("Trusted", True)
34
41
                return
35
42
 
36
43
        raise Rejected("Connection rejected by user")
37
44
 
38
 
    @dbus.service.method("org.bluez.Agent", in_signature="o", out_signature="s")
 
45
    @dbus.service.method("org.bluez.Agent",
 
46
                         in_signature="o", out_signature="s")
39
47
    def RequestPinCode(self, device):
40
48
        return "0000"
41
49
 
42
 
    @dbus.service.method("org.bluez.Agent", in_signature="o", out_signature="u")
 
50
    @dbus.service.method("org.bluez.Agent",
 
51
                         in_signature="o", out_signature="u")
43
52
    def RequestPasskey(self, device):
44
53
        return dbus.UInt32(0000)
45
54
 
46
 
    @dbus.service.method("org.bluez.Agent", in_signature="ou", out_signature="")
 
55
    @dbus.service.method("org.bluez.Agent",
 
56
                         in_signature="ou", out_signature="")
47
57
    def DisplayPasskey(self, device, passkey):
48
58
        return
49
59
 
50
 
    @dbus.service.method("org.bluez.Agent", in_signature="ou", out_signature="")
 
60
    @dbus.service.method("org.bluez.Agent",
 
61
                         in_signature="ou", out_signature="")
51
62
    def RequestConfirmation(self, device, passkey):
52
63
        return
53
64
 
59
70
    def Cancel(self):
60
71
        return
61
72
 
 
73
 
62
74
def exit_handler():
63
75
    if not os.path.exists("/tmp/ubiquity-bluetooth-done"):
64
76
        with open("/tmp/ubiquity-bluetooth-done", "w+"):
72
84
        sys.exit(0)
73
85
    return False
74
86
 
 
87
 
75
88
if os.path.exists("/tmp/ubiquity-bluetooth-done"):
76
89
    exit_handler()
77
90
 
78
91
try:
79
92
    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
80
93
    bus = dbus.SystemBus()
81
 
    manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")
82
 
    adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()), "org.bluez.Adapter")
 
94
    manager = dbus.Interface(
 
95
        bus.get_object("org.bluez", "/"), "org.bluez.Manager")
 
96
    adapter = dbus.Interface(
 
97
        bus.get_object("org.bluez", manager.DefaultAdapter()),
 
98
        "org.bluez.Adapter")
83
99
    agent = Agent(bus, "/ubiquity/bluetooth/agent")
84
100
    mainloop = GObject.MainLoop()
85
101
    adapter.RegisterAgent("/ubiquity/bluetooth/agent", "DisplayYesNo")