def __init__(self, versions, path, skip_unknown=False, min_date='2016.09.01', future_hours=24):
"""
????? ??? ????????? ?????????? ?? ??? ?? json-?????.
:param versions: ?????????????? ?????? ?????????, ???????? ['1.0', '1.05'].
:param path: ???? ?? ??????????, ??????? ???????? ??? ?????????? ?? ???????, ???????? ?? ???????,
????????, ????? ??? ????????? 1.0 ?????? ?????? ? <path>/1.0/
:param skip_unknown: ???? ????? ?????? ?????????? ?? ?????????????? ?????????? ?????????
"""
self._validators = {}
self._skip_unknown = skip_unknown
schema_dir = os.path.expanduser(path)
schema_dir = os.path.abspath(schema_dir)
self.min_date = datetime.datetime.strptime(min_date, '%Y.%m.%d') if min_date else None
self.future_hours = future_hours
for version in versions:
full_path = os.path.join(schema_dir, version, 'document.schema.json')
with open(full_path, encoding='utf-8') as fh:
schema = json.loads(fh.read())
resolver = jsonschema.RefResolver('file://' + full_path, None)
validator = Draft4Validator(schema=schema, resolver=resolver)
validator.check_schema(schema) # ?????????, ??? ???? ????? - ????????
self._validators[version] = validator
评论列表
文章目录