/usr/lib/python2.7/dist-packages/pbcommand/schemas/__init__.py is in python-pbcommand 0.2.17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import os
import functools
import avro.schema
from avro.io import validate
SCHEMA_REGISTRY = {}
__all__ = ['validate_pbreport',
'validate_tc',
'validate_rtc',
'SCHEMA_REGISTRY']
def _load_schema(idx, name):
d = os.path.dirname(__file__)
schema_path = os.path.join(d, name)
with open(schema_path, 'r') as f:
schema = avro.schema.parse(f.read())
SCHEMA_REGISTRY[idx] = schema
return schema
RTC_SCHEMA = _load_schema("resolved_tool_contract", "resolved_tool_contract.avsc")
PBREPORT_SCHEMA = _load_schema("pbreport", "pbreport.avsc")
TC_SCHEMA = _load_schema("tool_contract", "tool_contract.avsc")
def _validate(schema, d):
"""Validate a python dict against a avro schema"""
return validate(schema, d)
validate_rtc = functools.partial(_validate, RTC_SCHEMA)
validate_pbreport = functools.partial(_validate, PBREPORT_SCHEMA)
validate_tc = functools.partial(_validate, TC_SCHEMA)
|