403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/abrt/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/abrt/ABRTPlugin.py
# -*- coding: utf-8 -*-

""" PluginInfo keys:
WWW
Name
Enabled
GTKBuilder
Version
Type
Email
Description
"""
from abrt_utils import _
from ConfBackend import ConfBackendGnomeKeyring, ConfBackendInitError

class PluginSettings(dict):
    def __init__(self):
        dict.__init__(self)
        self.conf = None
        try:
            self.conf = ConfBackendGnomeKeyring()
        except ConfBackendInitError, e:
            print e
            pass

    def check(self):
        for key in ["Password", "Login"]:
            if key in self.keys():
                # some of the required keys is missing
                if not self[key]:
                    return False
        # settings are OK
        return True

    def load(self, name, default_settings):
        # load settings from daemon
        for key in default_settings.keys():
            self[str(key)] = str(default_settings[key])

        if self.conf:
            settings = self.conf.load(name)
            # overwrite defaluts with user setting
            for key in settings.keys():
                # only rewrite keys needed by the plugin
                # e.g we don't want a pass field for logger
                if key in default_settings.keys():
                    self[str(key)] = str(settings[key])

    def save(self, name):
        if self.conf:
            self.conf.save(name, self)

class PluginInfo():
    """Class to represent common plugin info"""
    types = {"Analyzer":_("Analyzer plugins"),
             "Action":_("Action plugins"),
             "Reporter":_("Reporter plugins"),
             "Database":_("Database plugins")}
    keys = ["WWW", "Name", "Enabled",
            "GTKBuilder", "Version",
            "Type", "Email", "Description"]

    def __init__(self):
        #print "Init PluginInfo"
        self.WWW = None
        self.Name = None
        self.Enabled = None
        self.GTKBuilder = None
        self.Version = None
        self.Type = None
        self.Email = None
        self.Description = None
        self.Settings = PluginSettings()

    def getName(self):
        return self.Name

    def getDescription(self):
        return self.Description

    def getType(self):
        return self.Type

    def getGUI(self):
        return self.GTKBuilder

    def __str__(self):
        return self.Name

    def __getitem__(self, item):
        return self.__dict__[item]

    def load_settings(self, default_settings):
        if self.Name:
            self.Settings.load(self.Name, default_settings)
        else:
            print _("Plugin name is not set, can't load it's settings")

    def save_settings(self):
        self.Settings.save(str(self.Name))

Youez - 2016 - github.com/yon3zu
LinuXploit