blob: b315eb95242fcf15b4d043049e7a14ea248ea4af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# -*- coding: utf-8 -*-
import CCDBusBackend
from ABRTPlugin import PluginInfo, PluginSettings
class PluginInfoList(list):
"""Class to store list of PluginInfos"""
def __init__(self,dbus_manager=None):
self.dm = dbus_manager
self.ddict = {}
def load(self):
if self.dm:
#print "loading PluginList"
try:
rows = self.dm.getPluginsInfo()
#print rows
for row in rows:
entry = PluginInfo()
for column in row:
#print "PluginInfoList adding %s:%s" % (column,row[column])
entry.__dict__[column] = row[column]
if entry.Enabled == "yes":
#print ">>%s<<" % entry
entry.Settings = PluginSettings(self.dm.getPluginSettings(str(entry)))
#for i in entry.Settings.keys():
# print "%s: %s" % (i, entry.Settings[i])
#else:
# print "%s is disabled" % entry
self.append(entry)
self.ddict[entry.getName()] = entry
except Exception, e:
print e
return
else:
print "db == None!"
__PFList = None
__PFList_dbmanager = None
def getPluginInfoList(dbmanager,refresh=None):
global __PFList
global __PFList_dbmanager
if __PFList == None or refresh or __PFList_dbmanager != dbmanager:
__PFList = PluginInfoList(dbus_manager=dbmanager)
__PFList.load()
__PFList_dbmanager = dbmanager
return __PFList
__PFList = None
|