/usr/lib/python3/dist-packages/pydbus/bus.py is in python3-pydbus 0.6.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | from gi.repository import Gio
from .proxy import ProxyMixin
from .request_name import RequestNameMixin
from .bus_names import OwnMixin, WatchMixin
from .subscription import SubscriptionMixin
from .registration import RegistrationMixin
from .publication import PublicationMixin
def pydbus_property(self):
try:
return self._pydbus
except AttributeError:
self._pydbus = Bus(self)
return self._pydbus
Gio.DBusConnection.pydbus = property(pydbus_property)
def bus_get(type):
return Gio.bus_get_sync(type, None).pydbus
def connect(address):
c = Gio.DBusConnection.new_for_address_sync(address, Gio.DBusConnectionFlags.AUTHENTICATION_CLIENT | Gio.DBusConnectionFlags.MESSAGE_BUS_CONNECTION, None, None)
c.pydbus.autoclose = True
return c.pydbus
class Bus(ProxyMixin, RequestNameMixin, OwnMixin, WatchMixin, SubscriptionMixin, RegistrationMixin, PublicationMixin):
Type = Gio.BusType
def __init__(self, gio_con):
self.con = gio_con
self.autoclose = False
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
if self.autoclose:
self.con.close_sync(None)
@property
def dbus(self):
try:
return self._dbus
except AttributeError:
self._dbus = self.get(".DBus")[""]
return self._dbus
@property
def polkit_authority(self):
try:
return self._polkit_authority
except AttributeError:
self._polkit_authority = self.get(".PolicyKit1", "Authority")[""]
return self._polkit_authority
def SystemBus():
return bus_get(Bus.Type.SYSTEM)
def SessionBus():
return bus_get(Bus.Type.SESSION)
|