| Server IP : 178.212.43.201 / Your IP : 10.100.0.33 Web Server : Apache/2.4.37 (Oracle Linux Server) OpenSSL/1.1.1k System : Linux spa0007.srv.paxillus.pl 5.4.17-2136.355.3.1.el8uek.x86_64 #3 SMP Sat May 9 17:11:55 PDT 2026 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3.6/site-packages/pydbus/ |
Upload File : |
from .exitable import ExitableWithAliases
class NameOwner(ExitableWithAliases("unown")):
__slots__ = ()
def __init__(self, bus, name, allow_replacement, replace):
flags = 4 | (1 if allow_replacement else 0) | (2 if replace else 0)
res = bus.dbus.RequestName(name, flags)
if res == 1:
self._at_exit(lambda: bus.dbus.ReleaseName(name))
return # OK
if res == 3:
raise RuntimeError("name already exists on the bus")
if res == 4:
raise RuntimeError("you're already the owner of this name")
raise RuntimeError("cannot take ownership of the name")
class RequestNameMixin(object):
__slots__ = ()
def request_name(self, name, allow_replacement=True, replace=False):
"""Aquires a bus name.
Returns
-------
NameOwner
An object you can use as a context manager to unown the name later.
"""
return NameOwner(self, name, allow_replacement, replace)