Allow schema encoding (auto-)escapes
This commit is contained in:
parent
8f99f14b92
commit
61ef91a958
|
@ -279,7 +279,15 @@ class Definition(SchemaObject):
|
||||||
def __setitem__(self, name, value):
|
def __setitem__(self, name, value):
|
||||||
return safesetattr(self, name, value)
|
return safesetattr(self, name, value)
|
||||||
|
|
||||||
|
class escape:
|
||||||
|
def __init__(self, escaped):
|
||||||
|
self.escaped = escaped
|
||||||
|
def __escape_schema__(self):
|
||||||
|
return self.escaped
|
||||||
|
|
||||||
def encode(p, v):
|
def encode(p, v):
|
||||||
|
if hasattr(v, '__escape_schema__'):
|
||||||
|
return preserve(v.__escape_schema__())
|
||||||
if p == ANY:
|
if p == ANY:
|
||||||
return v
|
return v
|
||||||
if p.key == NAMED:
|
if p.key == NAMED:
|
||||||
|
|
Loading…
Reference in New Issue