← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~googol/openlp/registry into lp:openlp

 

Andreas Preikschat has proposed merging lp:~googol/openlp/registry into lp:openlp.

Requested reviews:
  Andreas Preikschat (googol)
  Tim Bentley (trb143)

For more details, see:
https://code.launchpad.net/~googol/openlp/registry/+merge/147847

Hello,

- fixed alert display (regression)

To be reviewed after Tim's branch: lp:~trb143/openlp/event_receiver_removal
-- 
https://code.launchpad.net/~googol/openlp/registry/+merge/147847
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/plugins/alerts/lib/alertsmanager.py'
--- openlp/plugins/alerts/lib/alertsmanager.py	2013-01-16 21:03:01 +0000
+++ openlp/plugins/alerts/lib/alertsmanager.py	2013-02-12 07:52:21 +0000
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore
 
-from openlp.core.lib import Receiver, translate
+from openlp.core.lib import Receiver, translate, Registry
 
 log = logging.getLogger(__name__)
 
@@ -87,7 +87,7 @@
             return
         text = self.alertList.pop(0)
         alertTab = self.parent().settingsTab
-        self.parent().liveController.display.alert(text, alertTab.location)
+        self.live_controller.display.alert(text, alertTab.location)
         # Check to see if we have a timer running.
         if self.timer_id == 0:
             self.timer_id = self.startTimer(int(alertTab.timeout) * 1000)
@@ -103,7 +103,17 @@
         log.debug(u'timer event')
         if event.timerId() == self.timer_id:
             alertTab = self.parent().settingsTab
-            self.parent().liveController.display.alert(u'', alertTab.location)
+            self.live_controller.display.alert(u'', alertTab.location)
         self.killTimer(self.timer_id)
         self.timer_id = 0
         self.generateAlert()
+
+    def _get_live_controller(self):
+        """
+        Adds the live controller to the class dynamically
+        """
+        if not hasattr(self, u'_live_controller'):
+            self._live_controller = Registry().get(u'live_controller')
+        return self._live_controller
+
+    live_controller = property(_get_live_controller)

=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py	2013-02-05 08:05:28 +0000
+++ openlp/plugins/images/imageplugin.py	2013-02-12 07:52:21 +0000
@@ -31,7 +31,7 @@
 
 import logging
 
-from openlp.core.lib import Plugin, StringContent, Receiver, ImageSource, Settings, build_icon, translate
+from openlp.core.lib import Plugin, StringContent, Receiver, ImageSource, Settings, Registry, build_icon, translate
 from openlp.plugins.images.lib import ImageMediaItem, ImageTab
 
 log = logging.getLogger(__name__)
@@ -98,4 +98,14 @@
         last part of saving the config.
         """
         background = QtGui.QColor(Settings().value(self.settingsSection + u'/background color'))
-        self.liveController.imageManager.update_images_border(ImageSource.ImagePlugin, background)
+        self.image_manager.update_images_border(ImageSource.ImagePlugin, background)
+
+    def _get_image_manager(self):
+        """
+        Adds the image manager to the class dynamically
+        """
+        if not hasattr(self, u'_image_manager'):
+            self._image_manager = Registry().get(u'image_manager')
+        return self._image_manager
+
+    image_manager = property(_get_image_manager)

=== modified file 'openlp/plugins/remotes/lib/httpserver.py'
--- openlp/plugins/remotes/lib/httpserver.py	2013-02-04 21:27:50 +0000
+++ openlp/plugins/remotes/lib/httpserver.py	2013-02-12 07:52:21 +0000
@@ -123,7 +123,7 @@
 from PyQt4 import QtCore, QtNetwork
 from mako.template import Template
 
-from openlp.core.lib import Receiver, Settings, PluginStatus, StringContent
+from openlp.core.lib import Receiver, Settings, PluginStatus, StringContent, Registry
 from openlp.core.utils import AppLocation, translate
 
 log = logging.getLogger(__name__)
@@ -252,12 +252,11 @@
 
     def _get_service_items(self):
         service_items = []
-        service_manager = self.parent.plugin.serviceManager
         if self.parent.current_item:
             current_unique_identifier = self.parent.current_item.unique_identifier
         else:
             current_unique_identifier = None
-        for item in service_manager.serviceItems:
+        for item in self.service_manager.serviceItems:
             service_item = item[u'service_item']
             service_items.append({
                 u'id': unicode(service_item.unique_identifier),
@@ -388,13 +387,13 @@
         Poll OpenLP to determine the current slide number and item name.
         """
         result = {
-            u'service': self.parent.plugin.serviceManager.service_id,
+            u'service': self.service_manager.service_id,
             u'slide': self.parent.current_slide or 0,
             u'item': self.parent.current_item.unique_identifier if self.parent.current_item else u'',
             u'twelve':Settings().value(u'remotes/twelve hour'),
-            u'blank': self.parent.plugin.liveController.blankScreen.isChecked(),
-            u'theme': self.parent.plugin.liveController.themeScreen.isChecked(),
-            u'display': self.parent.plugin.liveController.desktopScreen.isChecked()
+            u'blank': self.live_controller.blankScreen.isChecked(),
+            u'theme': self.live_controller.themeScreen.isChecked(),
+            u'display': self.live_controller.desktopScreen.isChecked()
         }
         return HttpResponse(json.dumps({u'results': result}),
             {u'Content-Type': u'application/json'})
@@ -414,7 +413,7 @@
         """
         Send an alert.
         """
-        plugin = self.parent.plugin.pluginManager.get_plugin_by_name("alerts")
+        plugin = self.plugin_manager.get_plugin_by_name("alerts")
         if plugin.status == PluginStatus.Active:
             try:
                 text = json.loads(self.url_params[u'data'][0])[u'request'][u'text']
@@ -506,7 +505,7 @@
         """
         if action == u'search':
             searches = []
-            for plugin in self.parent.plugin.pluginManager.plugins:
+            for plugin in self.plugin_manager.plugins:
                 if plugin.status == PluginStatus.Active and plugin.mediaItem and plugin.mediaItem.hasSearch:
                     searches.append([plugin.name, unicode(plugin.textStrings[StringContent.Name][u'plural'])])
             return HttpResponse(
@@ -525,7 +524,7 @@
         except KeyError, ValueError:
             return HttpResponse(code=u'400 Bad Request')
         text = urllib.unquote(text)
-        plugin = self.parent.plugin.pluginManager.get_plugin_by_name(type)
+        plugin = self.plugin_manager.get_plugin_by_name(type)
         if plugin.status == PluginStatus.Active and plugin.mediaItem and plugin.mediaItem.hasSearch:
             results = plugin.mediaItem.search(text, False)
         else:
@@ -541,7 +540,7 @@
             id = json.loads(self.url_params[u'data'][0])[u'request'][u'id']
         except KeyError, ValueError:
             return HttpResponse(code=u'400 Bad Request')
-        plugin = self.parent.plugin.pluginManager.get_plugin_by_name(type)
+        plugin = self.plugin_manager.get_plugin_by_name(type)
         if plugin.status == PluginStatus.Active and plugin.mediaItem:
             plugin.mediaItem.goLive(id, remote=True)
         return HttpResponse(code=u'200 OK')
@@ -554,7 +553,7 @@
             id = json.loads(self.url_params[u'data'][0])[u'request'][u'id']
         except KeyError, ValueError:
             return HttpResponse(code=u'400 Bad Request')
-        plugin = self.parent.plugin.pluginManager.get_plugin_by_name(type)
+        plugin = self.plugin_manager.get_plugin_by_name(type)
         if plugin.status == PluginStatus.Active and plugin.mediaItem:
             item_id = plugin.mediaItem.createItemFromId(id)
             plugin.mediaItem.addToService(item_id, remote=True)
@@ -585,3 +584,33 @@
         self.socket.close()
         self.socket = None
         self.parent.close_connection(self)
+
+    def _get_service_manager(self):
+        """
+        Adds the service manager to the class dynamically
+        """
+        if not hasattr(self, u'_service_manager'):
+            self._service_manager = Registry().get(u'service_manager')
+        return self._service_manager
+
+    service_manager = property(_get_service_manager)
+
+    def _get_live_controller(self):
+        """
+        Adds the live controller to the class dynamically
+        """
+        if not hasattr(self, u'_live_controller'):
+            self._live_controller = Registry().get(u'live_controller')
+        return self._live_controller
+
+    live_controller = property(_get_live_controller)
+
+    def _get_plugin_manager(self):
+        """
+        Adds the plugin manager to the class dynamically
+        """
+        if not hasattr(self, u'_plugin_manager'):
+            self._plugin_manager = Registry().get(u'plugin_manager')
+        return self._plugin_manager
+
+    plugin_manager = property(_get_plugin_manager)


Follow ups