4 def __init__(self
, bus
):
9 self
.bus
.add_signal_receiver(self
.abbr_h
,
11 interface_keyword
="interface",
12 member_keyword
="member")
14 def ignore(self
, dbus_interface
, signal_name
):
15 self
.watch(self
.null_h
, dbus_interface
, signal_name
)
17 def null_h(self
, *args
, **kwargs
):
20 def watch(self
, handler
, dbus_interface
, signal_name
):
21 self
.specific
[dbus_interface
+"."+ signal_name
] = True
22 self
.bus
.add_signal_receiver(handler
,
23 dbus_interface
=dbus_interface
,
24 signal_name
=signal_name
,
27 def abbr_h(self
, *args
, **kwargs
):
28 ifc
= kwargs
["interface"]
29 sig
= kwargs
["member"]
30 if self
.specific
.has_key(ifc
+"."+ sig
):
33 opath
= kwargs
["path"]
34 line
= "SIG %s: %s.%s%s" % (self
.abbrev(opath
,"/"),
39 def abbrev(self
, s
, sep
):
41 words
= map (self
.a1
, words
)
42 result
= sep
.join(words
)
43 if self
.amap
.has_key(result
):
44 if self
.amap
[result
] != s
:
45 print "ABBR COLLISION %s was %s now %s" % (result
, self
.amap
[result
], s
)
47 print "ABBR %s is %s" % (result
, s
)
55 # first char, delete lowercase and _ from the rest
56 return s
[0] + s
[1:].translate(string
.maketrans("", ""),
57 string
.lowercase
+ "_")