def tasks_downloaded(self, source, result, cache_filename):
try:
success, content, etag = source.load_contents_finish(result)
except GLib.GError as e:
url = self._download[2]
log.error("Failed to download tasks from %s: %s", url, e)
self.tasks_infobar.set_message_type(Gtk.MessageType.ERROR)
self.tasks_infobar_label.set_text(_("Download failed."))
self.tasks_infobar.show()
else:
log.debug("Successfully downloaded tasks (etag: %s):\n %s",
etag, content.decode('UTF-8', 'replace').replace('\n', '\n '))
with open(cache_filename, 'wb') as f:
f.write(content)
self.check_reload_tasks()
self.tasks_infobar.hide()
self._download = None
python类GError()的实例源码
def can_import(self, file_uris, current_doc=None):
"""
Check that the specified file looks like a directory containing many
pdf files
"""
if len(file_uris) <= 0:
return False
try:
for file_uri in file_uris:
file_uri = self.fs.safe(file_uri)
parent = Gio.File.parse_name(file_uri)
for child in recurse(parent):
if self.check_file_type(child.get_uri()):
return True
except GLib.GError:
pass
return False
def can_import(self, file_uris, current_doc=None):
"""
Check that the specified file looks like a directory containing many
pdf files
"""
if len(file_uris) <= 0:
return False
try:
for file_uri in file_uris:
file_uri = self.fs.safe(file_uri)
parent = Gio.File.parse_name(file_uri)
for child in recurse(parent):
if self.check_file_type(child.get_uri()):
return True
except GLib.GError:
pass
return False
def _genCompareFunc(self):
def satisfiedByNode(node):
try:
return node.roleName == 'application' and stringMatches(self.appName, node.name)
except GLib.GError as e:
if re.match(r"name :[0-9]+\.[0-9]+ was not provided", e.message):
logger.log("Dogtail: warning: omiting possibly broken at-spi application record")
return False
else:
try:
sleep(config.defaults['searchWarningThreshold'])
return node.roleName == 'application' and stringMatches(self.appName, node.name)
except GLib.GError:
logger.log("Dogtail: warning: application may be hanging")
return False
return satisfiedByNode
def return_error(self, name, error):
skeleton, invocation, fd_list = self._obj_registery[name.toString()]
logger.debug('returning ERROR %s for %s on %s', error, name, invocation)
invocation.return_gerror(GLib.GError(error))
def __init__(self,pkg):
bus_type = Gio.BusType.SESSION
flags = 0
iface_info = None
# Creating proxies does not do any blocking I/O, and never fails
proxy = Gio.DBusProxy.new_for_bus_sync(
bus_type,
flags,
iface_info,
'org.freedesktop.PackageKit',
'/org/freedesktop/PackageKit',
'org.freedesktop.PackageKit.Modify',
None)
try:
# The default timeout is approximately 25 seconds.
# This is too short here, the call to InstallPackageNames
# would usually return too early then before the package
# has completed installing. Then the callback to reload
# the dictionary would be called to early and would not
# be able to load the dictionary.
# So I use a very long timeout here to make sure
# InstallPackageNames does not return before either the
# dictionary is really installed or the user cancels:
proxy.set_default_timeout(0x7fffffff) # timeout in milliseconds
proxy.InstallPackageNames("(uass)", 0, [pkg], "show-confirm-search,hide-finished")
except GLib.GError as e:
print("GError: " + str(e))