importjsonfrompathlibimportPathfromocelescopeimportOCEL,OCELExtensionclassHelloWorldExtension(OCELExtension):name="HelloWorld"description="Stores a message string in the .json OCEL file"version="1.0"supported_extensions=[".json"]def__init__(self,ocel:OCEL,message:str):self.ocel=ocelself.message=message@staticmethoddefhas_extension(path:Path)->bool:ifpath.suffix!=".json":returnFalsetry:data=json.loads(path.read_text(encoding="utf-8"))exceptException:returnFalsereturn"hello_message"indata@classmethoddefimport_extension(cls,ocel:OCEL,path:Path)->"HelloWorldExtension":data=json.loads(path.read_text(encoding="utf-8"))returncls(ocel=ocel,message=str(data.get("hello_message","")))defexport_extension(self,path:Path)->None:try:data=json.loads(path.read_text(encoding="utf-8"))exceptException:data={}data["hello_message"]=self.messagepath.write_text(json.dumps(data,indent=2),encoding="utf-8")