blackfennec.document_system.mime_type.json package

Submodules

blackfennec.document_system.mime_type.json.json_mime_type module

class blackfennec.document_system.mime_type.json.json_mime_type.JsonMimeType(structure_serializer: StructureSerializer)[source]

Bases: MimeType

export_structure(output: IO, structure: Structure)[source]

Exports a structure to a IO Stream

Parameters
  • output (IO) – The IO Stream to export to

  • structure (Structure) – The structure to export

import_structure(to_import: IO) Structure[source]

Imports a structure from a IO Stream

Parameters

to_import (IO) – The IO Stream to import from

Returns

The imported structure

Return type

Structure

property mime_type_id: str

Returns the mime type id of this mime type e.g. application/json

blackfennec.document_system.mime_type.json.json_pointer_serializer module

class blackfennec.document_system.mime_type.json.json_pointer_serializer.JsonPointerSerializer[source]

Bases: object

JsonPointer Implementation according to RFC6901

Class is able to serialize and deserialize JsonPointers in relative and absolute format.

ABSOLUTE_POINTER_PATTERN = re.compile('^(/?(([^/~])|(~[01]))*)+$')
RELATIVE_POINTER_PATTERN = re.compile('^([0-9]+([+][0-9]+|[-][0-9]+)?)(/(([^/~])|(~[01]))*)*$')
classmethod deserialize_absolute_pointer(json_pointer: str) list[blackfennec.structure.reference_navigation.navigator.Navigator][source]

Parses absolute JsonPointer.

Returns

Parsed absolute json pointer

Return type

Navigator

classmethod deserialize_relative_pointer(json_pointer: str) list[blackfennec.structure.reference_navigation.navigator.Navigator][source]

Deserialized relative JsonPointer.

Parameters

json_pointer (str) – Json pointer in string form

Returns

Parsed json pointer

Return type

Navigator

Raises

ValueError – if the first navigator in path did not match the expected format. [0-9]+([+-][0-9]+)?

classmethod is_absolute_json_pointer(pointer: str)[source]

Checks if pointer is absolute JsonPointer

Parameters

pointer (str) – JsonPointer string

Returns

True if pointer is absolute JsonPointer

Return type

bool

classmethod is_relative_json_pointer(pointer: str)[source]

Checks if pointer is relative JsonPointer

Parameters

pointer (str) – JsonPointer string

Returns

True if pointer is relative JsonPointer

Return type

bool

classmethod serialize(navigator_list: list[blackfennec.structure.reference_navigation.navigator.Navigator]) str[source]

Serializes a list of navigators into a Json Pointer String

Parameters

navigator_list (list[Navigator]) – A list of navigators

Returns

A Json Pointer String

Return type

str

blackfennec.document_system.mime_type.json.json_reference_serializer module

class blackfennec.document_system.mime_type.json.json_reference_serializer.JsonReferenceSerializer(document_factory, pointer_serializer: Type[JsonPointerSerializer])[source]

Bases: object

Parses Json References

ABSOLUTE_POINTER_PATTERN = re.compile('^(/?(([^/~])|(~[01]))*)+$')
REFERENCE_KEY = '$ref'
RELATIVE_POINTER_PATTERN = re.compile('^([0-9]+([+][0-9]+|[-][0-9]+)?)(/(([^/~])|(~[01]))*)*$')
deserialize(raw: dict) list[blackfennec.structure.reference_navigation.navigator.Navigator][source]
classmethod is_reference(raw: dict)[source]
serialize(navigator_list: list[blackfennec.structure.reference_navigation.navigator.Navigator]) dict[source]

Serializes a list of navigators into a json reference string

Parameters

navigator_list (list[Navigator]) – A list of navigators

Returns

A json reference string

Return type

str

Module contents