def _add_schema()

in transcoder/output/json/JsonOutputManager.py [0:0]


    def _add_schema(self, schema: DatacastSchema):
        # pylint: disable=duplicate-code
        if schema.name in self.schemas:
            del self.schemas[schema.name]
        if schema.name in self.writers:
            self.writers[schema.name].close()
            del self.writers[schema.name]

        output_file = open(  # pylint: disable=consider-using-with
            self._get_file_name(schema.name, 'jsonl'), 'w',
            encoding='utf-8')

        schema_json = {
            '$schema': 'https://json-schema.org/draft/2019-09/schema',
            'type': 'object',
            'name': schema.name,
            'properties': {}}

        for field in schema.fields:
            schema_json['properties'][field.name] = field.create_json_field(field)

        obj = json.dumps(schema_json)
        self._save_schema(schema.name, obj)
        self.schemas[schema.name] = obj
        self.writers[schema.name] = output_file