Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _get_updated_device(self, object_path):
obj = self._proxy.object.bus.get_object(object_path)
try:
prop_prox = self._property_proxy[object_path]
except KeyError:
prop_prox = yield obj.get_property_interface(Device.Interface)
self._property_proxy[object_path] = prop_prox
try:
properties = yield prop_prox.GetAll()
except GLib.GError:
self._invalidate(object_path)
yield Return(None)
# TODO: return something useful? (NullDevice)
else:
itfc_prox = MethodsProxy(obj, Device.Interface)
device = Device(self, object_path,
AttrDictView(properties), itfc_prox)
yield Return(device)
obj = self._proxy.object.bus.get_object(object_path)
try:
prop_prox = self._property_proxy[object_path]
except KeyError:
prop_prox = yield obj.get_property_interface(Device.Interface)
self._property_proxy[object_path] = prop_prox
try:
properties = yield prop_prox.GetAll()
except GLib.GError:
self._invalidate(object_path)
yield Return(None)
# TODO: return something useful? (NullDevice)
else:
itfc_prox = MethodsProxy(obj, Device.Interface)
device = Device(self, object_path,
AttrDictView(properties), itfc_prox)
yield Return(device)
def find(self, path):
"""
Get a device proxy by device name or any mount path of the device.
This searches through all accessible devices and compares device
path as well as mount pathes.
"""
if isinstance(path, Device):
return path
for device in self:
if device.is_file(path):
self._log.debug(_('found device owning "{0}": "{1}"',
path, device))
return device
raise ValueError(_('no device found owning "{0}"', path))