src/modules/gui/pmlogging.py
changeset 2991 75e616731cc3
parent 2990 2cc6693a7d83
child 2992 e48a94cff862
--- a/src/modules/gui/pmlogging.py	Fri Sep 27 11:21:00 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-#!/usr/bin/python
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
-#
-
-import sys
-import os
-import re
-try:
-        import gobject
-        import pango
-except ImportError:
-        sys.exit(1)
-import pkg.gui.misc as gui_misc
-
-REGEX_BOLD_MARKUP = re.compile(r'^<b>')
-REGEX_STRIP_MARKUP = re.compile(r'<.*?>')
-
-class PMLogging:
-        def __init__(self, builder, window_icon, is_normal_logging_setup=True):
-                self.is_normal_logging_setup = is_normal_logging_setup
-                self.w_view_log_dialog = builder.get_object("view_log_dialog")
-                self.w_view_log_dialog.set_icon(window_icon)
-                self.w_view_log_dialog.set_title(_("Logs"))
-                self.w_log_info_textview = builder.get_object("log_info_textview")
-                self.w_log_errors_textview = builder.get_object("log_errors_textview")
-
-                infobuffer = self.w_log_info_textview.get_buffer()
-                infobuffer.create_tag("bold", weight=pango.WEIGHT_BOLD)          
-                infobuffer = self.w_log_errors_textview.get_buffer()
-                infobuffer.create_tag("bold", weight=pango.WEIGHT_BOLD)          
-                self.w_log_close_button = builder.get_object("log_close_button")
-                self.w_log_clear_button = builder.get_object("log_clear_button")
-                self.w_log_help_button = builder.get_object("log_help_button")
-
-        def set_window_icon(self, window_icon):
-                self.w_view_log_dialog.set_icon(window_icon)
-
-        def setup_signals(self):
-                signals_table = [
-                    (self.w_log_close_button, "clicked",
-                     self.__on_log_close_button_clicked),
-                    (self.w_log_clear_button, "clicked",
-                     self.__on_log_clear_button_clicked),
-                    (self.w_log_help_button, "clicked",
-                     self.__on_log_help_button_clicked),
-                    (self.w_view_log_dialog, "delete_event",
-                     self.__on_log_dialog_delete_event)
-                    ]
-                for widget, signal_name, callback in signals_table:
-                        widget.connect(signal_name, callback)
-
-        def set_modal_and_transient(self, parent_window):
-                gui_misc.set_modal_and_transient(self.w_view_log_dialog,
-                    parent_window)
-
-        @staticmethod
-        def __on_log_help_button_clicked(widget):
-                gui_misc.display_help("gkiod")
-
-        def __on_log_dialog_delete_event(self, widget, event):
-                self.__on_log_close_button_clicked(None)
-                return True
-
-        def __on_log_close_button_clicked(self, widget):
-                self.w_view_log_dialog.hide()
-
-        def __on_log_clear_button_clicked(self, widget):
-                ext = gui_misc.get_log_error_ext()
-                self.__clear_logs(ext) 
-                ext = gui_misc.get_log_info_ext()
-                self.__clear_logs(ext) 
-                gui_misc.shutdown_logging()
-                gui_misc.setup_logging()
-                self.log_activate()
-
-        def __clear_logs(self, ext):
-                self.__clear_log(gui_misc.get_log_path(gui_misc.get_pm_name()) + ext)
-                self.__clear_log(gui_misc.get_log_path(gui_misc.get_wi_name()) + ext)
-                self.__clear_log(gui_misc.get_log_path(gui_misc.get_um_name()) + ext)
-
-        @staticmethod
-        def __clear_log(path):
-                try:
-                        os.unlink(path)
-                except OSError:
-                        pass
-
-        def log_activate(self):
-                textbuffer_err = self.w_log_errors_textview.get_buffer()
-                textbuffer_info = self.w_log_info_textview.get_buffer()
-                if self.is_normal_logging_setup:
-                        textbuffer_err.set_text(_("Loading ..."))
-                        textbuffer_info.set_text(_("Loading ..."))
-                else:
-                        textbuffer_err.set_text("")
-                        textbuffer_info.set_text("")
-                        textiter = textbuffer_err.get_end_iter()
-                        textbuffer_err.insert_with_tags_by_name(textiter,
-                            _("Unable to setup log:\n"), "bold")
-                        textbuffer_err.insert(textiter,
-                            _("All errors and warnings will be logged to stderr"))
-                        textiter = textbuffer_info.get_end_iter()
-                        textbuffer_info.insert_with_tags_by_name(textiter,
-                            _("Unable to setup log:\n"), "bold")
-                        textbuffer_info.insert(textiter,
-                            _("All info messages will be logged to stdout"))
-
-                self.w_log_close_button.grab_focus()
-                self.w_view_log_dialog.show()
-
-                if self.is_normal_logging_setup: 
-                        gobject.idle_add(self.__load_err_view_log)
-                        gobject.idle_add(self.__load_info_view_log)
-
-        def __load_err_view_log(self):
-                textbuffer = self.w_log_errors_textview.get_buffer()
-                textbuffer.set_text("")
-                textiter = textbuffer.get_end_iter()
-                log_err_ext = gui_misc.get_log_error_ext()
-                pm_err_log = gui_misc.get_log_path(gui_misc.get_pm_name()) + log_err_ext
-                wi_err_log = gui_misc.get_log_path(gui_misc.get_wi_name()) + log_err_ext
-                um_err_log = gui_misc.get_log_path(gui_misc.get_um_name()) + log_err_ext
-
-                self.__write_to_view_log(um_err_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_um_name() + "\n")
-                self.__write_to_view_log(wi_err_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_wi_name() + "\n")
-                self.__write_to_view_log(pm_err_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_pm_name() + "\n")
-                gobject.idle_add(self.w_log_errors_textview.scroll_to_iter, textiter,
-                    0.0)
-
-        def __load_info_view_log(self):
-                textbuffer = self.w_log_info_textview.get_buffer()
-                textbuffer.set_text("")
-                textiter = textbuffer.get_end_iter()
-                log_info_ext = gui_misc.get_log_info_ext()
-                pm_info_log = gui_misc.get_log_path(gui_misc.get_pm_name()) + log_info_ext
-                wi_info_log = gui_misc.get_log_path(gui_misc.get_wi_name()) + log_info_ext
-                um_info_log = gui_misc.get_log_path(gui_misc.get_um_name()) + log_info_ext
-
-                self.__write_to_view_log(um_info_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_um_name() + "\n")
-                self.__write_to_view_log(wi_info_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_wi_name() + "\n")
-                self.__write_to_view_log(pm_info_log,
-                    textbuffer, textiter, _("None: ") + gui_misc.get_pm_name() + "\n")
-                gobject.idle_add(self.w_log_info_textview.scroll_to_iter, textiter, 0.0)
-
-        @staticmethod
-        def __write_to_view_log(path, textbuffer, textiter, nomessages):
-                infile = None
-                try:
-                        infile = open(path, "r")
-                except IOError:
-                        textbuffer.insert_with_tags_by_name(textiter, nomessages, "bold")
-                        return
-                if infile == None:
-                        textbuffer.insert_with_tags_by_name(textiter, nomessages, "bold")
-                        return
-
-                lines = infile.readlines()
-                if len(lines) == 0:
-                        textbuffer.insert_with_tags_by_name(textiter, nomessages, "bold")
-                        return
-                for line in lines:
-                        if re.match(REGEX_BOLD_MARKUP, line):
-                                line = re.sub(REGEX_STRIP_MARKUP, "", line)
-                                textbuffer.insert_with_tags_by_name(textiter, line,
-                                    "bold")
-                        else:
-                                textbuffer.insert(textiter, line)
-                try:
-                        infile.close()
-                except IOError:
-                        pass