- 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

Reply via email to