python类SystemBus()的实例源码

check_hardware.py 文件源码 项目:anglerfish 作者: juancarlospaco 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def on_battery() -> bool:
    """Check if we are running on Battery power."""
    log.debug("Checking if running on Battery power.")
    if has_battery():
        bus, upower_path = dbus.SystemBus(), '/org/freedesktop/UPower'
        upower = bus.get_object('org.freedesktop.UPower', upower_path)
        result = __get_prop(upower, upower_path, 'OnBattery')
        if result is None:  # Cannot read property, something is wrong.
            print(f"Failed to read D-Bus property: {upower_path}.")
            result = False  # Assume we are connected to a power supply.
        return result
    return False

#
# def on_wifi():
#     """Check if we are running on wifi."""
#     try:
#         bus = dbus.SystemBus()
#         manager = bus.get_object('org.freedesktop.NetworkManager',
#                                  '/org/freedesktop/NetworkManager')
#          # FIXME this returns int, I dunno what they mean ?, investigate.
#         return __get_prop(manager, 'org.freedesktop.NetworkManager',
#                          'WirelessEnabled')
#     except Exception:
#         return False
bluetooth.py 文件源码 项目:PiRadio 作者: elParaguayo 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __init__(self):
        super(ModeBluetooth, self).__init__()

        # Create a basic menu.
        self.menu = [("Show Device", self.show_device)]
        self.build_menu()

        # Disable the bluetooth adaptor
        self.start_bluetooth(False)

        # Initialise dbus for metadata retrieval
        self.bus = dbus.SystemBus()

        # Initialise some basic variables
        self.running = False
        self.player = None
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_introspection(self):
        bus = dbus.SystemBus()
        obj = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')

        iface = dbus.Interface(obj, dbus_interface='org.freedesktop.DBus.Introspectable')

        # getting introspection xml
        m = iface.get_dbus_method("Introspect", dbus_interface=None)
        return m()
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_devices(self):
        bus = dbus.SystemBus()
        wifi = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')

        iface = dbus.Interface(wifi, dbus_interface='org.freedesktop.NetworkManager')

        # getting all devices
        m = iface.get_dbus_method("GetDevices", dbus_interface=None)
        devs = []
        for dev in m():
            devs.append("%s" % dev)
        return devs
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_active_connections(self):
        bus = dbus.SystemBus()
        wifi = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')

        iface = dbus.Interface(wifi, dbus_interface='org.freedesktop.DBus.Properties')

        m = iface.get_dbus_method("Get", dbus_interface=None)
        return [ str(ac) for ac in m("org.freedesktop.NetworkManager", "ActiveConnections") ]
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def get_wifi_access_points_by_dev(self, device_path):
        bus = dbus.SystemBus()
        obj = bus.get_object('org.freedesktop.NetworkManager', device_path)

        iface = dbus.Interface(obj, dbus_interface='org.freedesktop.NetworkManager.Device.Wireless')

        # getting all wireless access points
        m = iface.get_dbus_method("GetAccessPoints", dbus_interface=None)

        return [str(ap) for ap in m()]
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_access_point_all_info(self, ap_path):

        bus = dbus.SystemBus()
        obj = bus.get_object('org.freedesktop.NetworkManager', ap_path)

        iface = dbus.Interface(obj, dbus_interface='org.freedesktop.DBus.Properties')

        m = iface.get_dbus_method("GetAll", dbus_interface=None)

        # getting all ppoperties like Ssid, Strength, HwAddress etc.
        props = m("org.freedesktop.NetworkManager.AccessPoint")
        for k,v in props.iteritems():
            print k,v

        return props
app.py 文件源码 项目:PyDbusNetworkManager 作者: stoic1979 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def activate_connection(self, con_path, dev_path, obj_path):
        bus = dbus.SystemBus()
        wifi = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')

        iface = dbus.Interface(wifi, dbus_interface='org.freedesktop.NetworkManager')

        # activating connection
        m = iface.get_dbus_method("ActivateConnection", dbus_interface=None)
        active_connection = m(con_path, dev_path, obj_path)

        # on success, active connection object/path is returned
        return active_connection
service.py 文件源码 项目:co2monitor 作者: nobodyinperson 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def __init__(self):
        # initially set the standard logger
        self.set_logger(logging.getLogger(__name__))
        # initially set an empty configuration
        self.set_config(configparser.ConfigParser())
        # set up the quit signals
        self.setup_signals(
            signals = [signal.SIGINT, signal.SIGTERM, signal.SIGHUP],
            handler = self.please_stop_now
        )

        # use glib as default mailoop for dbus
        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
        dbus.mainloop.glib.threads_init()
        GLib.threads_init()

        self.loop = GLib.MainLoop() # create mainloop

        self.systembus = dbus.SystemBus() # the system bus
        self.systembus.request_name(CO2MONITOR_BUSNAME) # request the bus name
        bus_name = dbus.service.BusName(CO2MONITOR_BUSNAME, self.systembus) # create bus name
        # register the object on the bus name
        dbus.service.Object.__init__(self, bus_name, CO2MONITOR_OBJECTPATH)
service.py 文件源码 项目:co2monitor 作者: nobodyinperson 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __init__(self, devicefile):
        # by default, log!
        self.do_data_logging = True
        # initially set the standard logger
        self.set_logger(logging.getLogger(__name__))
        # initially set an empty configuration
        self.set_config(configparser.ConfigParser())

        # use glib as default mailoop for dbus
        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
        dbus.mainloop.glib.threads_init()
        GLib.threads_init()

        self.systembus = dbus.SystemBus() # the system bus
        self.systembus.request_name(CO2MONITOR_BUSNAME) # request the bus name
        bus_name = dbus.service.BusName(CO2MONITOR_BUSNAME, self.systembus) # create bus name

        self.devicefile = devicefile

        # set up the device
        self.device = device.co2device(self.devicefile)

        # register the object on the bus name
        objectpath = "/".join([CO2MONITOR_OBJECTPATH,
            utils.devicefile2objectname(self.devicefile)])
        dbus.service.Object.__init__(self, bus_name, objectpath)
        self.update_status(_("idle"))
        threading.Thread.__init__(self)


    # set the config
systemd.py 文件源码 项目:sysdweb 作者: ogarcia 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __init__(self, user=False):
        self.bus = SessionBus() if user else SystemBus()
        systemd = self.bus.get_object(SYSTEMD_BUSNAME, SYSTEMD_PATH)
        self.manager = Interface(systemd, dbus_interface=SYSTEMD_MANAGER_INTERFACE)
bluezutils.py 文件源码 项目:OpenXCAccessory 作者: openxc 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_managed_objects():
    bus = dbus.SystemBus()
    manager = dbus.Interface(bus.get_object("org.bluez", "/"),
                "org.freedesktop.DBus.ObjectManager")
    return manager.GetManagedObjects()
bluezutils.py 文件源码 项目:OpenXCAccessory 作者: openxc 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def find_adapter_in_objects(objects, pattern=None):
    bus = dbus.SystemBus()
    for path, ifaces in objects.iteritems():
        adapter = ifaces.get(ADAPTER_INTERFACE)
        if adapter is None:
            continue
        if not pattern or pattern == adapter["Address"] or \
                            path.endswith(pattern):
            obj = bus.get_object(SERVICE_NAME, path)
            return dbus.Interface(obj, ADAPTER_INTERFACE)
    raise Exception("Bluetooth adapter not found")
bluezutils.py 文件源码 项目:OpenXCAccessory 作者: openxc 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_managed_objects():
    bus = dbus.SystemBus()
    manager = dbus.Interface(bus.get_object("org.bluez", "/"),
                "org.freedesktop.DBus.ObjectManager")
    return manager.GetManagedObjects()
bluezutils.py 文件源码 项目:OpenXCAccessory 作者: openxc 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def find_adapter_in_objects(objects, pattern=None):
    bus = dbus.SystemBus()
    for path, ifaces in objects.iteritems():
        adapter = ifaces.get(ADAPTER_INTERFACE)
        if adapter is None:
            continue
        if not pattern or pattern == adapter["Address"] or \
                            path.endswith(pattern):
            obj = bus.get_object(SERVICE_NAME, path)
            return dbus.Interface(obj, ADAPTER_INTERFACE)
    raise Exception("Bluetooth adapter not found")
eject.py 文件源码 项目:nautilus_scripts 作者: SergKolo 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def get_dbus( bus_type, obj, path, interface, method, arg):
    """ utility: executes dbus method on specific interface"""
    if bus_type == "session":
        bus = dbus.SessionBus()
    if bus_type == "system":
        bus = dbus.SystemBus()
    proxy = bus.get_object(obj, path)
    method = proxy.get_dbus_method(method, interface)
    if arg:
        return method(arg)
    else:
        return method()
eject.py 文件源码 项目:nautilus_scripts 作者: SergKolo 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def get_dbus_property( bus_type, obj, path, iface, prop):
    """ utility:reads properties defined on specific dbus interface"""
    if bus_type == "session":
        bus = dbus.SessionBus()
    if bus_type == "system":
        bus = dbus.SystemBus()
    proxy = bus.get_object(obj, path)
    aux = 'org.freedesktop.DBus.Properties'
    props_iface = dbus.Interface(proxy, aux)
    try:
        props = props_iface.Get(iface, prop)
        return props
    except:
        return None
gatt_server_example.py 文件源码 项目:python-gatt-server 作者: Jumperr-labs 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-a', '--adapter-name', type=str, help='Adapter name', default='')
    args = parser.parse_args()
    adapter_name = args.adapter_name

    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
    bus = dbus.SystemBus()
    mainloop = GObject.MainLoop()

    advertising.advertising_main(mainloop, bus, adapter_name)
    gatt_server.gatt_server_main(mainloop, bus, adapter_name)
    mainloop.run()
upower.py 文件源码 项目:cpu-g 作者: atareao 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self):
        bus = dbus.SystemBus()
        bat0_object = bus.get_object(
            'org.freedesktop.UPower',
            '/org/freedesktop/UPower/devices/battery_BAT0')
        self.__statistics = bat0_object.get_dbus_method(
            'GetStatistics',
            'org.freedesktop.UPower.Device')
        self.__history = bat0_object.get_dbus_method(
            'GetHistory',
            'org.freedesktop.UPower.Device')
        self.bat0 = dbus.Interface(bat0_object,
                                   'org.freedesktop.DBus.Properties')
other_nm.py 文件源码 项目:python-eduvpn-client 作者: eduvpn 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def setup_signals(self):
        if not self.setup:
            bus = dbus.SystemBus()
            for interface in self.interfaces:
                bus.add_signal_receiver(self.handle_signal, dbus_interface=interface, interface_keyword='interface',
                                        member_keyword='signal', path_keyword='path')
            self.setup = True
        self.listen_for_restarts()


问题


面经


文章

微信
公众号

扫码关注公众号