Commit b56fc3f0 authored by Guido van Rossum's avatar Guido van Rossum

Move the ZEO parameters into a <zeo> section.

parent ead3ccff
...@@ -120,14 +120,18 @@ class Options: ...@@ -120,14 +120,18 @@ class Options:
""" """
self.load_configuration() self.load_configuration()
def load_schema(self):
here = os.path.dirname(ZEO.__file__)
schemafile = os.path.join(here, "schema.xml")
self.schema = ZConfig.loadSchema(schemafile)
def load_configuration(self): def load_configuration(self):
if not self.configuration: if not self.configuration:
return return
here = os.path.dirname(ZEO.__file__) self.load_schema()
schemafile = os.path.join(here, "schema.xml")
schema = ZConfig.loadSchema(schemafile)
try: try:
self.rootconf = ZConfig.loadConfig(schema, self.configuration)[0] self.rootconf, nil = ZConfig.loadConfig(self.schema,
self.configuration)
except ZConfig.ConfigurationError, errobj: except ZConfig.ConfigurationError, errobj:
self.usage(str(errobj)) self.usage(str(errobj))
...@@ -253,12 +257,12 @@ class ZEOOptions(Options): ...@@ -253,12 +257,12 @@ class ZEOOptions(Options):
def load_zeoconf(self): def load_zeoconf(self):
# Get some option values from the configuration # Get some option values from the configuration
if self.family is None: if self.family is None:
self.family = self.rootconf.address.family self.family = self.rootconf.zeo.address.family
self.address = self.rootconf.address.address self.address = self.rootconf.zeo.address.address
self.read_only = self.rootconf.read_only self.read_only = self.rootconf.zeo.read_only
self.transaction_timeout = self.rootconf.transaction_timeout self.transaction_timeout = self.rootconf.zeo.transaction_timeout
self.invalidation_queue_size = 100 self.invalidation_queue_size = self.rootconf.zeo.invalidation_queue_size
def load_logconf(self): def load_logconf(self):
# Get logging options from conf, unless overridden by environment # Get logging options from conf, unless overridden by environment
......
<schema type="ZEO"> <schema>
<!-- XXX This schema still needs logging support. --> <!-- XXX This schema still needs logging support. -->
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
<!-- Use the storage types defined by ZODB. --> <!-- Use the storage types defined by ZODB. -->
<import src="../ZODB/config.xml"/> <import src="../ZODB/config.xml"/>
<sectiontype name="zeo">
<key name="address" datatype="socket-address" <key name="address" datatype="socket-address"
required="yes"> required="yes">
<description> <description>
...@@ -58,6 +60,10 @@ ...@@ -58,6 +60,10 @@
</description> </description>
</key> </key>
</sectiontype>
<section type="zeo" name="*" required="yes" attribute="zeo" />
<key name="monitor-address" datatype="socket-address" required="no"> <key name="monitor-address" datatype="socket-address" required="no">
<description> <description>
The address at which the monitor server should listen. If The address at which the monitor server should listen. If
......
...@@ -81,7 +81,9 @@ class TestZEOOptions(TestOptions): ...@@ -81,7 +81,9 @@ class TestZEOOptions(TestOptions):
output_args = [] output_args = []
configdata = """ configdata = """
<zeo>
address 5555 address 5555
</zeo>
<filestorage fs> <filestorage fs>
path Data.fs path Data.fs
</filestorage> </filestorage>
......
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