Replace jsonschema with better error messages

This commit is contained in:
Anthony Sottile
2017-03-05 18:06:11 -08:00
parent 71bbdb5b4c
commit cb8dd335f4
30 changed files with 1064 additions and 842 deletions

View File

@@ -5,14 +5,20 @@ PY3 = str is not bytes
if PY2: # pragma: no cover (PY2 only)
text = unicode # flake8: noqa
string_types = (text, bytes)
def n(s):
if isinstance(s, bytes):
return s
else:
return s.encode('UTF-8')
exec("""def reraise(tp, value, tb=None):
raise tp, value, tb
""")
else: # pragma: no cover (PY3 only)
text = str
string_types = (text,)
def n(s):
if isinstance(s, text):
@@ -20,6 +26,13 @@ else: # pragma: no cover (PY3 only)
else:
return s.decode('UTF-8')
def reraise(tp, value, tb=None):
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
def to_text(s):
return s if isinstance(s, text) else s.decode('UTF-8')