Log message for revision 99869: Revert changes made in the name of #375322. These changes weren't discussed with the community first, they break backwards compatibility, and environment should logically be one dict-like object, not a sequence of dicts.
Changed: U Zope/trunk/doc/CHANGES.rst U Zope/trunk/src/Zope2/Startup/handlers.py U Zope/trunk/src/Zope2/Startup/tests/test_schema.py U Zope/trunk/src/Zope2/Startup/zopeschema.xml -=- Modified: Zope/trunk/doc/CHANGES.rst =================================================================== --- Zope/trunk/doc/CHANGES.rst 2009-05-12 09:57:03 UTC (rev 99868) +++ Zope/trunk/doc/CHANGES.rst 2009-05-12 10:50:04 UTC (rev 99869) @@ -14,10 +14,6 @@ - zExceptions.convertExceptionType: new API, breaking out conversion of exception names to exception types from 'upgradeException'. -- Launchpad #375322: the <environment> section within the zope.conf - file is now a multisection in order to provide a more modular configuration - support. - - Launchpad #374719: introducing new ZPublisher events: PubStart, PubSuccess, PubFailure, PubAfterTraversal and PubBeforeCommit. Modified: Zope/trunk/src/Zope2/Startup/handlers.py =================================================================== --- Zope/trunk/src/Zope2/Startup/handlers.py 2009-05-12 09:57:03 UTC (rev 99868) +++ Zope/trunk/src/Zope2/Startup/handlers.py 2009-05-12 10:50:04 UTC (rev 99869) @@ -184,10 +184,8 @@ """ # Set environment variables - d = {} - for s in config.environment: - d.update(s) - os.environ.update(d) + for k,v in config.environment.items(): + os.environ[k] = v # Add directories to the pythonpath instancelib = os.path.join(config.instancehome, 'lib', 'python') Modified: Zope/trunk/src/Zope2/Startup/tests/test_schema.py =================================================================== --- Zope/trunk/src/Zope2/Startup/tests/test_schema.py 2009-05-12 09:57:03 UTC (rev 99868) +++ Zope/trunk/src/Zope2/Startup/tests/test_schema.py 2009-05-12 10:50:04 UTC (rev 99869) @@ -101,23 +101,9 @@ NSYNC doesnt </environment> """) - items = conf.environment[0].items() + items = conf.environment.items() items.sort() self.assertEqual(items, [("FEARFACTORY", "rocks"), ("NSYNC","doesnt")]) - conf, handler = self.load_config_text("""\ - # instancehome is here since it's required - instancehome <<INSTANCE_HOME>> - <environment> - FEARFACTORY rocks - </environment> - <environment> - NSYNC doesnt - </environment> - """) - self.assertEqual(len(conf.environment), 2) - # in principle, we should test the handler as well - # But this would have vast side effects - # Thus, we test with a non regression test def test_ms_author_via(self): import webdav Modified: Zope/trunk/src/Zope2/Startup/zopeschema.xml =================================================================== --- Zope/trunk/src/Zope2/Startup/zopeschema.xml 2009-05-12 09:57:03 UTC (rev 99868) +++ Zope/trunk/src/Zope2/Startup/zopeschema.xml 2009-05-12 10:50:04 UTC (rev 99869) @@ -292,14 +292,14 @@ </description> </multisection> - <multisection type="environment" attribute="environment" name="*"> + <section type="environment" attribute="environment" name="*"> <description> A section which allows a user to define arbitrary key-value pairs for use as environment variables during Zope's run cycle. It is not recommended to set system-related environment variables such as PYTHONPATH within this section. </description> - </multisection> + </section> <key name="instancehome" datatype="existing-directory" required="yes"> _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins