Mercurial > moin-2.0
changeset 2065:1b78d0d4b13d
data validation: use output metadata of meta validation, so we aways have some contenttype, fixes KeyError
| author | Thomas Waldmann <tw AT waldmann-edv DOT de> |
|---|---|
| date | Sun, 31 Mar 2013 23:00:14 +0200 |
| parents | d126d94d7858 |
| children | 9cf6a6b474c5 |
| files | MoinMoin/storage/middleware/indexing.py |
| diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/MoinMoin/storage/middleware/indexing.py Sun Mar 31 22:14:40 2013 +0200 +++ b/MoinMoin/storage/middleware/indexing.py Sun Mar 31 23:00:14 2013 +0200 @@ -1063,10 +1063,6 @@ logging.warning("data validation skipped as we have no valid metadata") if VALIDATION_HANDLING == VALIDATION_HANDLING_STRICT: raise ValueError('metadata validation failed and strict handling requested, see the log for details') - elif not validate_data(meta, data): # need valid metadata to validate data - logging.warning("data validation failed") - if VALIDATION_HANDLING == VALIDATION_HANDLING_STRICT: - raise ValueError('data validation failed and strict handling requested, see the log for details') # we do not have anything in m that is not defined in the schema, # e.g. userdefined meta keys or stuff we do not validate. thus, we @@ -1076,6 +1072,11 @@ # XXX do not kick out empty lists before fixing NAME processing: meta = dict([(k, v) for k, v in meta.items() if v not in [None, ]]) + if valid and not validate_data(meta, data): # need valid metadata to validate data + logging.warning("data validation failed") + if VALIDATION_HANDLING == VALIDATION_HANDLING_STRICT: + raise ValueError('data validation failed and strict handling requested, see the log for details') + if self.itemid is None: self.itemid = meta[ITEMID] backend = self.backend
