Utils Docs

Public api for methods and functions to handle/verify the jsonschemas.

class inspire_schemas.utils.LocalRefResolver(base_uri, referrer, store=(), cache_remote=True, handlers=(), urljoin_cache=None, remote_cache=None)[source]

Bases: jsonschema.validators.RefResolver

Simple resolver to handle non-uri relative paths.

resolve_remote(uri)[source]

Resolve a uri or relative path to a schema.

inspire_schemas.utils.build_pubnote(title, volume, page_start, page_end, artid)[source]

Build pubnote string from parts (reverse of split_pubnote).

inspire_schemas.utils.get_schema_path(schema)[source]

Retrieve the installed path for the given schema.

Parameters:schema (str) – String with the (relative or absolute) url of the schema to validate, for example, ‘records/authors.json’ or ‘jobs.json’, or by just the name like ‘jobs’.
Returns:The path or the given schema name.
Return type:str
inspire_schemas.utils.load_schema(schema_name)[source]

Load the given schema from wherever it’s installed.

Parameters:schema_name – Name of the schema to load, for example ‘authors’.
inspire_schemas.utils.normalize_author_name_with_comma(author)[source]

Normalize author name.

Parameters:author (string) – author name
Return name:the name of the author normilized
inspire_schemas.utils.split_page_artid(page_artid)[source]

Split page_artid into page_start/end and artid.

inspire_schemas.utils.split_pubnote(pubnote_str)[source]

Split pubnote into journal information.

inspire_schemas.utils.validate(data, schema=None)[source]

Validate the given dictionary against the given schema.

Parameters:
  • data (dict) – record to validate.
  • schema (Union[dict, str]) – schema to validate against. If it is a string, it is intepreted as the name of the schema to load (e.g. authors or jobs). If it is None, the schema is taken from data['$schema']. If it is a dictionary, it is used directly.
Raises:
  • SchemaNotFound – if the given schema was not found.
  • SchemaKeyNotFound – if schema is None and no $schema key was found in data.
  • jsonschema.SchemaError – if the schema is invalid.
  • jsonschema.ValidationError – if the data is invalid.