--- a/src/gui/modules/installupdate.py Wed Jan 20 16:09:18 2010 -0800
+++ b/src/gui/modules/installupdate.py Thu Jan 21 13:39:10 2010 +0000
@@ -56,6 +56,9 @@
import pkg.gui.uarenamebe as uarenamebe
import pkg.gui.misc as gui_misc
import pkg.gui.enumerations as enumerations
+from pkg.client import global_settings
+
+logger = global_settings.logger
class InstallUpdate(progress.GuiProgressTracker):
def __init__(self, list_of_packages, parent, image_directory,
@@ -1113,10 +1116,14 @@
to_install[stem][1] = info_s.summary
elif stem in to_remove:
to_remove[stem][1] = info_s.summary
- except (api_errors.TransportError):
- pass
- except (api_errors.InvalidDepotResponseException):
- pass
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self.parent)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self.parent)
@staticmethod
def get_datetime(date_time):
--- a/src/gui/modules/misc.py Wed Jan 20 16:09:18 2010 -0800
+++ b/src/gui/modules/misc.py Thu Jan 21 13:39:10 2010 +0000
@@ -51,6 +51,18 @@
from pkg.gui.misc_non_gui import shutdown_logging as sd_logging
from pkg.gui.misc_non_gui import get_version as g_version
+from pkg.gui.misc_non_gui import get_log_dir as ge_log_dir
+from pkg.gui.misc_non_gui import get_log_error_ext as ge_log_error_ext
+from pkg.gui.misc_non_gui import get_log_info_ext as ge_log_info_ext
+
+from pkg.client import global_settings
+
+PKG_CLIENT_NAME_PM = "packagemanager"
+PKG_CLIENT_NAME_WI = "packagemanager-webinstall"
+PKG_CLIENT_NAME_UM = "updatemanager"
+
+logger = global_settings.logger
+
def get_version():
return g_version()
@@ -85,16 +97,6 @@
pass
return publisher_str
-from pkg.gui.misc_non_gui import get_log_dir as ge_log_dir
-from pkg.gui.misc_non_gui import get_log_error_ext as ge_log_error_ext
-from pkg.gui.misc_non_gui import get_log_info_ext as ge_log_info_ext
-
-from pkg.client import global_settings
-
-PKG_CLIENT_NAME_PM = "packagemanager"
-PKG_CLIENT_NAME_WI = "packagemanager-webinstall"
-PKG_CLIENT_NAME_UM = "updatemanager"
-
def get_log_dir():
return ge_log_dir()
@@ -397,15 +399,21 @@
font_size,
gtk.gdk.INTERP_BILINEAR)
-def get_pkg_info(api_o, pkg_stem, local):
+def get_pkg_info(app, api_o, pkg_stem, local):
info = None
try:
info = api_o.info([pkg_stem], local,
api.PackageInfo.ALL_OPTIONS -
frozenset([api.PackageInfo.LICENSES]))
- except (api_errors.TransportError):
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ notify_log_error(app)
return info
- except (api_errors.InvalidDepotResponseException):
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ notify_log_error(app)
return info
pkgs_info = None
@@ -440,7 +448,6 @@
msg += _(
"Only %(suc)s out of %(tot)s catalogs successfully updated.\n") % \
{"suc": cre.succeeded, "tot": cre.total}
- msg += "\n"
for pub, err in cre.failed:
if isinstance(err, urllib2.HTTPError):
--- a/src/gui/modules/repository.py Wed Jan 20 16:09:18 2010 -0800
+++ b/src/gui/modules/repository.py Thu Jan 21 13:39:10 2010 +0000
@@ -48,6 +48,9 @@
import pkg.gui.enumerations as enumerations
import pkg.gui.misc as gui_misc
import pkg.gui.progress as progress
+from pkg.client import global_settings
+
+logger = global_settings.logger
ERROR_FORMAT = "<span color = \"red\">%s</span>"
@@ -1523,8 +1526,7 @@
desc_itr = details_buffer.get_end_iter()
details_buffer.insert(desc_itr, "%s\n" % description)
- @staticmethod
- def __show_errors(errors, msg_type=gtk.MESSAGE_ERROR, title = None):
+ def __show_errors(self, errors, msg_type=gtk.MESSAGE_ERROR, title = None):
error_msg = ""
if title != None:
msg_title = title
@@ -1532,12 +1534,14 @@
msg_title = _("Publisher error")
for err in errors:
if isinstance(err[1], api_errors.CatalogRefreshException):
- error_msg += gui_misc.get_catalogrefresh_exception_msg(
- err[1])
+ crerr = gui_misc.get_catalogrefresh_exception_msg(err[1])
+ logger.error(crerr)
+ gui_misc.notify_log_error(self.parent)
else:
error_msg += str(err[1])
- error_msg += "\n\n"
- gui_misc.error_occurred(None, error_msg, msg_title, msg_type)
+ error_msg += "\n\n"
+ if error_msg != "":
+ gui_misc.error_occurred(None, error_msg, msg_title, msg_type)
@staticmethod
def __keybrowse(w_parent, key_entry, cert_entry):
--- a/src/packagemanager.py Wed Jan 20 16:09:18 2010 -0800
+++ b/src/packagemanager.py Thu Jan 21 13:39:10 2010 +0000
@@ -2580,13 +2580,15 @@
api.PackageInfo.STATE,
api.PackageInfo.SUMMARY]))
results = res.get(0)
- except api_errors.TransportError, ex:
- err = str(ex)
- gobject.idle_add(self.error_occurred, err)
- except api_errors.InvalidDepotResponseException, ex:
- err = str(ex)
- gobject.idle_add(self.error_occurred, err)
- except Exception:
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except Exception, ex:
err = str(ex)
gobject.idle_add(self.error_occurred, err)
finally:
@@ -3405,19 +3407,24 @@
else:
self.__do_refresh(pubs=[pub])
- def __do_refresh(self, pubs=None, immediate=False, ignore_transport_ex=False):
+ def __do_refresh(self, pubs=None, immediate=False):
success = False
try:
self.api_o.reset()
self.api_o.refresh(pubs=pubs, immediate=immediate)
success = True
except api_errors.CatalogRefreshException, cre:
- if ignore_transport_ex == False:
- self.__catalog_refresh_message(cre)
- except api_errors.InvalidDepotResponseException, idrex:
- err = str(idrex)
- gobject.idle_add(self.error_occurred, err,
- None, gtk.MESSAGE_INFO)
+ crerr = gui_misc.get_catalogrefresh_exception_msg(cre)
+ logger.error(crerr)
+ gui_misc.notify_log_error(self)
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
except api_errors.ApiException, ex:
err = str(ex)
gobject.idle_add(self.error_occurred, err,
@@ -3562,8 +3569,8 @@
def __get_info(self, pkg_stem, name):
self.api_o.reset()
- local_info = gui_misc.get_pkg_info(self.api_o, pkg_stem, True)
- remote_info = gui_misc.get_pkg_info(self.api_o, pkg_stem, False)
+ local_info = gui_misc.get_pkg_info(self, self.api_o, pkg_stem, True)
+ remote_info = gui_misc.get_pkg_info(self, self.api_o, pkg_stem, False)
if self.exiting:
return
plan_pkg = None
@@ -4440,10 +4447,14 @@
try:
info = self.api_o.info([selected_pkgstem],
True, frozenset([api.PackageInfo.LICENSES]))
- except (api_errors.TransportError):
- pass
- except (api_errors.InvalidDepotResponseException):
- pass
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
if self.showing_empty_details or (license_id !=
self.last_show_licenses_id):
return
@@ -4452,10 +4463,14 @@
# Get license from remote
info = self.api_o.info([selected_pkgstem],
False, frozenset([api.PackageInfo.LICENSES]))
- except (api_errors.TransportError):
- pass
- except (api_errors.InvalidDepotResponseException):
- pass
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
if self.showing_empty_details or (license_id !=
self.last_show_licenses_id):
return
@@ -4507,13 +4522,13 @@
self.last_show_info_id) and (pkg_status ==
api.PackageInfo.INSTALLED or pkg_status ==
api.PackageInfo.UPGRADABLE):
- local_info = gui_misc.get_pkg_info(self.api_o, pkg_stem,
+ local_info = gui_misc.get_pkg_info(self, self.api_o, pkg_stem,
True)
if not self.showing_empty_details and (info_id ==
self.last_show_info_id) and (pkg_status ==
api.PackageInfo.KNOWN or pkg_status ==
api.PackageInfo.UPGRADABLE):
- remote_info = gui_misc.get_pkg_info(self.api_o, pkg_stem,
+ remote_info = gui_misc.get_pkg_info(self, self.api_o, pkg_stem,
False)
if not self.showing_empty_details and (info_id ==
self.last_show_info_id):
@@ -4539,10 +4554,14 @@
True,
frozenset([api.PackageInfo.STATE,
api.PackageInfo.IDENTITY]))
- except (api_errors.TransportError):
- pass
- except (api_errors.InvalidDepotResponseException):
- pass
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
gobject.idle_add(self.__update_package_info, pkg,
local_info, remote_info, dep_info, installed_dep_info,
info_id)
@@ -5123,10 +5142,14 @@
else:
pkg_stem_states[pkg_stem] = \
api.PackageInfo.KNOWN
- except (api_errors.TransportError):
- pass
- except (api_errors.InvalidDepotResponseException):
- pass
+ except api_errors.TransportError, tpex:
+ err = str(tpex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
+ except api_errors.InvalidDepotResponseException, idex:
+ err = str(idex)
+ logger.error(err)
+ gui_misc.notify_log_error(self)
#Create a new result list updated with current installation status
tmp_app_list = self.__get_new_application_liststore()
@@ -5552,7 +5575,7 @@
self.after_install_remove = True
visible_publisher = self.__get_selected_publisher()
default_publisher = self.default_publisher
- self.__do_refresh(ignore_transport_ex=True)
+ self.__do_refresh()
visible_list = update_list.get(visible_publisher)
if self.is_all_publishers or self.is_all_publishers_installed \
or self.in_recent_search:
@@ -5612,18 +5635,6 @@
self.__enable_disable_install_remove()
self.update_statusbar()
- def __catalog_refresh_message(self, cre):
- total = cre.total
- succeeded = cre.succeeded
- ermsg = _("Network problem.\n\n")
- ermsg += _("Details:\n")
- ermsg += _("%s/%s catalogs successfully updated:\n") % (
- succeeded, total)
- for pub, err in cre.failed:
- ermsg += "%s: %s\n" % (pub["origin"], str(err))
- gobject.idle_add(self.error_occurred, ermsg,
- None, gtk.MESSAGE_INFO)
-
def __reset_home_dir(self):
# We reset the HOME directory in case the user called us
# with gksu and had NFS mounted home directory in which
--- a/src/updatemanager.py Wed Jan 20 16:09:18 2010 -0800
+++ b/src/updatemanager.py Thu Jan 21 13:39:10 2010 +0000
@@ -501,10 +501,10 @@
local_info = None
remote_info = None
if info_id == self.last_show_info_id:
- local_info = gui_misc.get_pkg_info(self.__get_api_obj(),
+ local_info = gui_misc.get_pkg_info(self, self.__get_api_obj(),
stem, True)
if info_id == self.last_show_info_id:
- remote_info = gui_misc.get_pkg_info(self.__get_api_obj(),
+ remote_info = gui_misc.get_pkg_info(self, self.__get_api_obj(),
stem, False)
if info_id == self.last_show_info_id:
gobject.idle_add(self.__update_package_info, stem,