Commit 996387ae authored by Andreas Jung's avatar Andreas Jung

- Launchpad #375322: the <environment> section within the zope.conf

  file is now a multisection in order to provide a more modular configuration
  support.
parent 11a5404a
...@@ -23,6 +23,10 @@ Restructuring ...@@ -23,6 +23,10 @@ Restructuring
Features Added Features Added
++++++++++++++ ++++++++++++++
- Launchpad #375322: the <environment> section within the zope.conf
file is now a multisection in order to provide a more modular configuration
support.
- Launchpad #374729: Encoding cookie values to avoid issues with - Launchpad #374729: Encoding cookie values to avoid issues with
firewalls and security proxies. firewalls and security proxies.
......
...@@ -184,8 +184,10 @@ def root_handler(config): ...@@ -184,8 +184,10 @@ def root_handler(config):
""" """
# Set environment variables # Set environment variables
for k,v in config.environment.items(): d = {}
os.environ[k] = v for s in config.environment:
d.update(s)
os.environ.update(d)
# Add directories to the pythonpath # Add directories to the pythonpath
instancelib = os.path.join(config.instancehome, 'lib', 'python') instancelib = os.path.join(config.instancehome, 'lib', 'python')
......
...@@ -101,9 +101,23 @@ class StartupTestCase(unittest.TestCase): ...@@ -101,9 +101,23 @@ class StartupTestCase(unittest.TestCase):
NSYNC doesnt NSYNC doesnt
</environment> </environment>
""") """)
items = conf.environment.items() items = conf.environment[0].items()
items.sort() items.sort()
self.assertEqual(items, [("FEARFACTORY", "rocks"), ("NSYNC","doesnt")]) 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): def test_ms_author_via(self):
import webdav import webdav
......
...@@ -292,14 +292,14 @@ ...@@ -292,14 +292,14 @@
</description> </description>
</multisection> </multisection>
<section type="environment" attribute="environment" name="*"> <multisection type="environment" attribute="environment" name="*">
<description> <description>
A section which allows a user to define arbitrary key-value pairs for A section which allows a user to define arbitrary key-value pairs for
use as environment variables during Zope's run cycle. It use as environment variables during Zope's run cycle. It
is not recommended to set system-related environment variables such as is not recommended to set system-related environment variables such as
PYTHONPATH within this section. PYTHONPATH within this section.
</description> </description>
</section> </multisection>
<key name="instancehome" datatype="existing-directory" <key name="instancehome" datatype="existing-directory"
required="yes"> required="yes">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment