[Zope-Checkins] CVS: ZODB3/ZConfig - schema.py:1.15
Fred L. Drake, Jr.
fred@zope.com
Thu, 16 Jan 2003 12:16:57 -0500
Update of /cvs-repository/ZODB3/ZConfig
In directory cvs.zope.org:/tmp/cvs-serv22321
Modified Files:
schema.py
Log Message:
Minor refactoring: don't repeat a test and error in four places; move
it to a helper method.
=== ZODB3/ZConfig/schema.py 1.14 => 1.15 ===
--- ZODB3/ZConfig/schema.py:1.14 Wed Jan 15 10:25:14 2003
+++ ZODB3/ZConfig/schema.py Thu Jan 16 12:16:55 2003
@@ -454,31 +454,25 @@
self._stack[-1].description = data
def start_key(self, attrs):
- if not self._stack:
- self.error(
- "cannot define top-level keys in a schema " + self._top_level)
+ self._check_not_toplevel("key")
BaseParser.start_key(self, attrs)
def start_multikey(self, attrs):
- if not self._stack:
- self.error(
- "cannot define top-level multikeys in a schema "
- + self._top_level)
+ self._check_not_toplevel("multikey")
BaseParser.start_multikey(self, attrs)
def start_section(self, attrs):
- if not self._stack:
- self.error(
- "cannot define top-level sections in a schema "
- + self._top_level)
+ self._check_not_toplevel("section")
BaseParser.start_section(self, attrs)
def start_multisection(self, attrs):
- if not self._stack:
- self.error(
- "cannot define top-level multisections in a schema "
- + self._top_level)
+ self._check_not_toplevel("multisection")
BaseParser.start_multisection(self, attrs)
+
+ def _check_not_toplevel(self, what):
+ if not self._stack:
+ self.error("cannot define top-level %s in a schema %s"
+ % (what, self._top_level))
class ComponentParser(BaseComponentParser):