- replace some of "N/A"s by more specific information - use 1 instead of "None" as count if count element is missing - use "N/A" instead of empty fields
Closes #26 Signed-off-by: Jakub Filak <jfi...@redhat.com> --- src/gnome_abrt/application.py | 2 +- src/gnome_abrt/problems.py | 5 ++++- src/gnome_abrt/views.py | 33 ++++++++++++++++++++++++++++----- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/gnome_abrt/application.py b/src/gnome_abrt/application.py index 8517eaa..e4e24d9 100644 --- a/src/gnome_abrt/application.py +++ b/src/gnome_abrt/application.py @@ -38,7 +38,7 @@ class Application(object): elif executable: self.name = os.path.basename(executable) else: - self.name = "N/A" + self.name = None self.icon = icon diff --git a/src/gnome_abrt/problems.py b/src/gnome_abrt/problems.py index 123e312..6e00c40 100644 --- a/src/gnome_abrt/problems.py +++ b/src/gnome_abrt/problems.py @@ -175,7 +175,10 @@ class Problem: return self.get_submission() if cached and item in self.data: - return self.data[item] + retval = self.data[item] + if retval is None and item == "count": + return 1 + return retval loaded = self.__loaditems__(item) if item in loaded: diff --git a/src/gnome_abrt/views.py b/src/gnome_abrt/views.py index ce68674..1d7ddb9 100644 --- a/src/gnome_abrt/views.py +++ b/src/gnome_abrt/views.py @@ -81,8 +81,15 @@ class ProblemsFilter: def problem_to_storage_values(problem): # not localizable, it is a format for tree view column app = problem.get_application() - return ["{0!s}\n{1!s}".format(app.name or _("N/A"), - problem['type'] or ""), + + if app.name: + name = app.name + typ = problem['type'] + else: + name = problem['type'] + typ = "" + + return ["{0!s}\n{1!s}".format(name, typ), "{0!s}\n{1!s}".format(fancydate(problem['date_last']), problem['count']), problem] @@ -597,10 +604,26 @@ class OopsWindow(Gtk.ApplicationWindow): app = problem['application'] self._builder.lbl_summary.set_text(problem['reason'] or "") self._builder.lbl_app_name_value.set_text(app.name or _("N/A")) - self._builder.lbl_reason.set_text("{0} {1}".format( - app.name or _("N/A"), _(' crashed').strip())) + + if app.name: + self._builder.lbl_reason.set_text("{0} {1}".format( + app.name, _(' crashed').strip())) + else: + # If Application's name is unknown, display neutral + # header "'Type' problem has been detected": + # Kerneloops problem has been detected + # CCpp problem has been detected + # Python problem has been detected + # Ruby problem has been detected + # VMCore problem has been detected + # AVC problem has been detected + # Java problem has been detected + self._builder.lbl_reason.set_text( + _("{0} problem has been detected").format( + problem['type'])) + self._builder.lbl_app_version_value.set_text( - problem['package'] or "") + problem['package'] or _("N/A")) self._builder.lbl_detected_value.set_text( problem['date'].strftime( locale.nl_langinfo(locale.D_FMT))) -- 1.8.3.1