import uuid
import json
import os
from .doccanoannotator import DoccanoAnnotation
[docs]class DoccanoDocument:
"""
DoccanoDocument is used to build an evaluation document, that will be sent to Doccano interface.
DoccanoDocument contains a set of specific DoccanoAnnotation objects that a user want to evaluate.
"""
def __init__(self):
"""Initialize a DoccanoDocument object.
:return: DoccanoDocument
:rtype: DoccanoDocument
"""
self.doccanoAnnotation = []
[docs] def toJsonDoccano(self):
"""Tranform a DoccanoDocument object to a json.
:return: a json
:rtype: json
"""
return json.dump(self.toDictDoccano())
[docs] def toDictDoccano(self):
"""Transform a DoccanoDocument object to a list of doccanoAnnotation dict
:return: a list of doccanoAnnotation dict
:rtype: dict
"""
return [x.to_dict() for x in self.doccanoAnnotation]
[docs] def writeJsonDoccano(self, pathToOutput):
"""write a json file in pathToOuput path with a DoccanoDument object
:param pathToOutput: output path of the file
:return: a doccano file
"""
with open(pathToOutput, 'w', encoding='utf-8') as f:
for el in self.toDictDoccano():
json.dump(el, f, ensure_ascii=False, indent=None)
f.write("\n")