def __enabled_change_button_clicked(self, *_): if self.enabled_value not in (0, 1): return try: self.client.audit_enable(1 - self.enabled_value) except IOError, e: util.modal_error_dialog(self.window, _('Error changing auditing status: %s') % e.strerror)
def run(self, client): '''Run the main window, using client to access configuration.''' self.client = client self.config = Config(client) try: self.config.read() except IOError, e: util.modal_error_dialog(None, _('Error reading audit ' 'configuration: %s') % e.strerror) return
def _save(self): '''Update self.config and save it. Return True if saved successfully, False otherwise.''' if self.config == self.original_config: # See Config.__ne__ return True dlg = SaveDialog(self.window) (res, apply_config) = dlg.run(self.config.rules) dlg.destroy() if not res: return False try: self.config.write() except IOError, e: util.modal_error_dialog(self.window, _('Error writing audit ' 'configuration: %s') % e.strerror) return False
try: self.config.write() except IOError, e: util.modal_error_dialog(self.window, _('Error writing audit ' 'configuration: %s') % e.strerror) return False self.config_saved = True self.original_config = copy.deepcopy(self.config) self._refresh_config_stats() if apply_config: try: self.config.apply() except IOError, e: # e.strerror is usually useless here util.modal_error_dialog(self.window, _('Error applying audit ' 'configuration')) return True # _Saved_ successfully, even if not applied return True def _refresh_config_stats(self): '''Update configuration statistics.''' rules = self.config.rules (exit_rules, watch_rules) = exit_watch_rules(rules.exit_rules) self.config_watches_label.set_text(str(len(watch_rules))) self.config_rules_label.set_text(str(len(rules.task_rules) + len(rules.entry_rules) + len(exit_rules))) self.config_types_label.set_text(str(len(rules.user_rules) + len(rules.exclude_rules))) if self.config != self.original_config: # See Config.__ne__ self.config_state.set_text(_('Configuration modified.'))
import gettext import gtk.glade import locale import os import sys from client import Client from main_window import MainWindow import settings import util _ = gettext.gettext if __name__ == "__main__": locale.setlocale(locale.LC_ALL, "") gettext.bindtextdomain(settings.gettext_domain, settings.localedir) gettext.bind_textdomain_codeset(settings.gettext_domain, "utf-8") gettext.textdomain(settings.gettext_domain) gtk.glade.bindtextdomain(settings.gettext_domain, settings.localedir) gtk.glade.textdomain(settings.gettext_domain) try: cl = Client() except OSError, e: util.modal_error_dialog(None, _("Error running " "system-config-audit-server: %s") % e.strerror) sys.exit(1) w = MainWindow() w.run(cl)