From 597e993c05a8c859ce3f97d1d400b10327c13c50 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 3 Jun 2022 16:50:03 +0200 Subject: [PATCH] Support and-schemas in python --- implementations/python/preserves/schema.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/implementations/python/preserves/schema.py b/implementations/python/preserves/schema.py index ebfd2e4..becdb23 100644 --- a/implementations/python/preserves/schema.py +++ b/implementations/python/preserves/schema.py @@ -132,7 +132,11 @@ class SchemaObject: if k not in v: return None if cls.parse(pp, v[k], args) is None: return None return () - raise ValueError('Bad schema') + if p.key == AND: + for pp in p[0]: + if cls.parse(pp, v, args) is None: return None + return () + raise ValueError(f'Bad schema {p}') def __preserve__(self): raise NotImplementedError('Subclass responsibility')