Merge lp:~trb143/openlp/audit into lp:openlp

Proposed by Tim Bentley
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trb143/openlp/audit
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/audit
Reviewer Review Type Date Requested Status
Raoul Snyman Approve
Review via email: mp+12080@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

Clean up Plugin status code following last review

Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

Looking good!

Just a thought:

from plugin import PluginStatus
from plugin import Plugin

You might as well have written:

from plugin import Plugin, PluginStatus

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openlp/core/lib/__init__.py'
2--- openlp/core/lib/__init__.py 2009-09-14 22:10:08 +0000
3+++ openlp/core/lib/__init__.py 2009-09-18 17:37:11 +0000
4@@ -111,6 +111,7 @@
5 from eventreceiver import Receiver
6 from settingsmanager import SettingsManager
7 from pluginconfig import PluginConfig
8+from plugin import PluginStatus
9 from plugin import Plugin
10 from pluginmanager import PluginManager
11 from settingstab import SettingsTab
12
13=== modified file 'openlp/core/lib/plugin.py'
14--- openlp/core/lib/plugin.py 2009-09-17 18:24:13 +0000
15+++ openlp/core/lib/plugin.py 2009-09-18 17:37:11 +0000
16@@ -27,6 +27,13 @@
17
18 from openlp.core.lib import PluginConfig, Receiver
19
20+class PluginStatus(object):
21+ """
22+ Defines the status of the plugin
23+ """
24+ Active = 1
25+ Inactive = 2
26+
27 class Plugin(object):
28 """
29 Base class for openlp plugins to inherit from.
30@@ -122,6 +129,7 @@
31 self.icon = None
32 self.config = PluginConfig(self.name)
33 self.weight = 0
34+ self.status = PluginStatus.Inactive
35 # Set up logging
36 self.log = logging.getLogger(self.name)
37 self.preview_controller = plugin_helpers[u'preview']
38
39=== modified file 'openlp/core/lib/pluginmanager.py'
40--- openlp/core/lib/pluginmanager.py 2009-09-17 18:24:13 +0000
41+++ openlp/core/lib/pluginmanager.py 2009-09-18 17:37:11 +0000
42@@ -26,7 +26,7 @@
43 import sys
44 import logging
45
46-from openlp.core.lib import Plugin
47+from openlp.core.lib import Plugin, PluginStatus
48
49 class PluginManager(object):
50 """
51@@ -92,23 +92,20 @@
52 log.error(u'Failed to import module %s on path %s for reason %s', modulename, path, e.args[0])
53 plugin_classes = Plugin.__subclasses__()
54 self.plugins = []
55- self.plugin_list=[]
56 plugin_objects = []
57 for p in plugin_classes:
58 try:
59 plugin = p(self.plugin_helpers)
60 log.debug(u'Loaded plugin %s with helpers', unicode(p))
61-
62 plugin_objects.append(plugin)
63 except TypeError:
64 log.error(u'loaded plugin %s has no helpers', unicode(p))
65 plugins_list = sorted(plugin_objects, self.order_by_weight)
66 for plugin in plugins_list:
67- pList = {u'plugin': plugin, u'status': u'Inactive'}
68 if plugin.check_pre_conditions():
69 log.debug(u'Plugin %s active', unicode(plugin.name))
70- pList[u'status'] = u'Active'
71- self.plugins.append(pList)
72+ plugin.status = PluginStatus.Active
73+ self.plugins.append(plugin)
74
75 def order_by_weight(self, x, y):
76 """
77@@ -131,11 +128,11 @@
78 The Media Manager itself.
79 """
80 for plugin in self.plugins:
81- if plugin[u'status'] == u'Active':
82- media_manager_item = plugin[u'plugin'].get_media_manager_item()
83+ if plugin.status == PluginStatus.Active:
84+ media_manager_item = plugin.get_media_manager_item()
85 if media_manager_item is not None:
86- log.debug(u'Inserting media manager item from %s' % plugin[u'plugin'].name)
87- mediatoolbox.addItem(media_manager_item, plugin[u'plugin'].icon, media_manager_item.title)
88+ log.debug(u'Inserting media manager item from %s' % plugin.name)
89+ mediatoolbox.addItem(media_manager_item, plugin.icon, media_manager_item.title)
90
91 def hook_settings_tabs(self, settingsform=None):
92 """
93@@ -147,12 +144,12 @@
94 Defaults to *None*. The settings form to add tabs to.
95 """
96 for plugin in self.plugins:
97- settings_tab = plugin[u'plugin'].get_settings_tab()
98+ settings_tab = plugin.get_settings_tab()
99 if settings_tab is not None:
100- log.debug(u'Inserting settings tab item from %s' % plugin[u'plugin'].name)
101+ log.debug(u'Inserting settings tab item from %s' % plugin.name)
102 settingsform.addTab(settings_tab)
103 else:
104- log.debug(u'No settings in %s' % plugin[u'plugin'].name)
105+ log.debug(u'No settings in %s' % plugin.name)
106
107 def hook_import_menu(self, import_menu):
108 """
109@@ -163,8 +160,8 @@
110 The Import menu.
111 """
112 for plugin in self.plugins:
113- if plugin[u'status'] == u'Active':
114- plugin[u'plugin'].add_import_menu_item(import_menu)
115+ if plugin.status == PluginStatus.Active:
116+ plugin.add_import_menu_item(import_menu)
117
118 def hook_export_menu(self, export_menu):
119 """
120@@ -175,8 +172,8 @@
121 The Export menu.
122 """
123 for plugin in self.plugins:
124- if plugin[u'status'] == u'Active':
125- plugin[u'plugin'].add_export_menu_item(export_menu)
126+ if plugin.status == PluginStatus.Active:
127+ plugin.add_export_menu_item(export_menu)
128
129 def hook_tools_menu(self, tools_menu):
130 """
131@@ -187,8 +184,8 @@
132 The Tools menu.
133 """
134 for plugin in self.plugins:
135- if plugin[u'status'] == u'Active':
136- plugin[u'plugin'].add_tools_menu_item(tools_menu)
137+ if plugin.status == PluginStatus.Active:
138+ plugin.add_tools_menu_item(tools_menu)
139
140 def initialise_plugins(self):
141 """
142@@ -196,8 +193,8 @@
143 initialise themselves.
144 """
145 for plugin in self.plugins:
146- if plugin[u'status'] == u'Active':
147- plugin[u'plugin'].initialise()
148+ if plugin.status == PluginStatus.Active:
149+ plugin.initialise()
150
151 def finalise_plugins(self):
152 """
153@@ -205,5 +202,5 @@
154 clean themselves up
155 """
156 for plugin in self.plugins:
157- if plugin[u'status'] == u'Active':
158- plugin[u'plugin'].finalise()
159+ if plugin.status == PluginStatus.Active:
160+ plugin.finalise()
161
162=== modified file 'openlp/core/ui/plugindialoglistform.py'
163--- openlp/core/ui/plugindialoglistform.py 2009-08-15 19:10:59 +0000
164+++ openlp/core/ui/plugindialoglistform.py 2009-09-18 17:37:11 +0000
165@@ -9,7 +9,7 @@
166
167 import logging
168 from PyQt4 import QtCore, QtGui
169-from openlp.core.lib import translate
170+from openlp.core.lib import translate, PluginStatus
171
172 class PluginForm(QtGui.QDialog):
173 global log
174@@ -63,11 +63,14 @@
175 for plugin in self.parent.plugin_manager.plugins:
176 row = self.PluginViewList.rowCount()
177 self.PluginViewList.setRowCount(row + 1)
178- item1 = QtGui.QTableWidgetItem(plugin[u'plugin'].name)
179+ item1 = QtGui.QTableWidgetItem(plugin.name)
180 item1.setTextAlignment(QtCore.Qt.AlignVCenter)
181- item2 = QtGui.QTableWidgetItem(plugin[u'plugin'].version)
182+ item2 = QtGui.QTableWidgetItem(plugin.version)
183 item2.setTextAlignment(QtCore.Qt.AlignVCenter)
184- item3 = QtGui.QTableWidgetItem(translate(u'PluginForm', plugin[u'status']))
185+ if plugin.status == PluginStatus.Active:
186+ item3 = QtGui.QTableWidgetItem(translate(u'PluginForm', u'Active'))
187+ else:
188+ item3 = QtGui.QTableWidgetItem(translate(u'PluginForm', u'Inactive'))
189 item3.setTextAlignment(QtCore.Qt.AlignVCenter)
190 self.PluginViewList.setItem(row, 0, item1)
191 self.PluginViewList.setItem(row, 1, item2)