[Checkins] SVN: Products.PluginRegistry/trunk/Products/PluginRegistry/ Initialize plugin registry's _plugins attribute if necessary during

Rob Miller ra at burningman.com
Tue Jun 10 21:51:52 EDT 2008


Log message for revision 87303:
  Initialize plugin registry's _plugins attribute if necessary during
  GenericSetup import
  

Changed:
  U   Products.PluginRegistry/trunk/Products/PluginRegistry/CHANGES.txt
  U   Products.PluginRegistry/trunk/Products/PluginRegistry/exportimport.py

-=-
Modified: Products.PluginRegistry/trunk/Products/PluginRegistry/CHANGES.txt
===================================================================
--- Products.PluginRegistry/trunk/Products/PluginRegistry/CHANGES.txt	2008-06-11 01:36:07 UTC (rev 87302)
+++ Products.PluginRegistry/trunk/Products/PluginRegistry/CHANGES.txt	2008-06-11 01:51:51 UTC (rev 87303)
@@ -7,6 +7,9 @@
     - Fix bad behaviour when moving the top plugin up.
       (https://bugs.launchpad.net/bugs/164717)
 
+    - Initialize plugin registry's _plugins attribute if necessary during
+      GenericSetup import
+
   PluginRegistry 1.1.2 (2007/04/24)
 
     - Drop previously-activated plugins from the list returned from

Modified: Products.PluginRegistry/trunk/Products/PluginRegistry/exportimport.py
===================================================================
--- Products.PluginRegistry/trunk/Products/PluginRegistry/exportimport.py	2008-06-11 01:36:07 UTC (rev 87302)
+++ Products.PluginRegistry/trunk/Products/PluginRegistry/exportimport.py	2008-06-11 01:51:51 UTC (rev 87303)
@@ -68,11 +68,18 @@
 def _updatePluginRegistry(registry, xml, should_purge, encoding=None):
 
     if should_purge:
-
         registry._plugin_types = []
         registry._plugin_type_info = PersistentMapping()
         registry._plugins = PersistentMapping()
 
+    # When PAS import is used in an extension profile, the plugin
+    # registry will have been deleted (content import deletes by
+    # default) but should_purge will be false; need to initialize
+    # _plugins since PluginRegistry's constructor doesn't
+    if registry._plugins is None:
+        registry._plugins = PersistentMapping()
+
+
     pir = PluginRegistryImporter(registry, encoding)
     reg_info = pir.parseXML(xml)
 



More information about the Checkins mailing list