From f3968982da01150076dedd0e80e8dab7e35e6ae4 Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Tue, 11 Aug 2015 22:58:20 +0200 Subject: filter: when filter validates along, avoid revalidation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... on output format instantiation (needless and unhelpful). Signed-off-by: Jan Pokorný --- filter.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/filter.py b/filter.py index a28b23f..987d371 100644 --- a/filter.py +++ b/filter.py @@ -151,7 +151,7 @@ class Filter(object): if io_formats is None: return None self = super(Filter, cls).__new__(cls) - self._in_format, self._out_format = io_formats + (self._in_format, self._out_format), self._validated = io_formats, False return self @hybridproperty @@ -180,6 +180,8 @@ class Filter(object): outdecl = self._fnc(flt_ctxt, in_obj) outdecl_head, outdecl_tail = head_tail(outdecl) outdecl_tail = arg2wrapped(outdecl_tail) + if self._validated: + fmt_kws['validator_specs'] = {'': ''} return self.out_format(outdecl_head, *outdecl_tail, **fmt_kws) @classmethod @@ -507,6 +509,7 @@ class XMLFilter(Filter, MetaPlugin): validator = self._out_format.validator('etree', spec=spec) if validator: validate_hook = self._xslt_get_validate_hook(validator, **kws) + self._validated = True # to avoid Format instance revalidation return (lambda ret, error_log=(): self._xslt_atom_hook(ret, error_log, validate_hook, **kws)) -- cgit