1818import rdflib
1919from jsonpath_ng .ext import parse
2020from mwclient .client import Site
21- from oold .generator import Generator
22- from oold .model .v1 import (
21+ from oold .backend .interface import (
2322 ResolveParam ,
2423 Resolver ,
2524 ResolveResult ,
2625 SetResolverParam ,
2726 set_resolver ,
2827)
28+ from oold .generator import Generator
2929from oold .utils .codegen import OOLDJsonSchemaParser
3030from opensemantic import OswBaseModel
3131from pydantic import PydanticDeprecatedSince20
@@ -114,11 +114,17 @@ def __init__(self, **data: Any):
114114 # implement resolver backend with osw.load_entity
115115 class OswDefaultResolver (Resolver ):
116116
117- osw_obj : OSW
117+ # oold.backend.interface is pydantic v2, so we cannot use
118+ # our v1 OSW model as attribute directly
119+ osw_obj : Any
120+
121+ def resolve_iris (self , iris : List [str ]) -> dict [str , dict ]:
122+ pass
118123
119124 def resolve (self , request : ResolveParam ):
120125 # print("RESOLVE", request)
121- entities = self .osw_obj .load_entity (
126+ osw_obj : OSW = self .osw_obj
127+ entities = osw_obj .load_entity (
122128 OSW .LoadEntityParam (titles = request .iris )
123129 ).entities
124130 # create a dict with request.iris as keys and the loaded entities as values
@@ -621,8 +627,7 @@ def _fetch_schema(self, fetchSchemaParam: _FetchSchemaParam = None) -> None:
621627 # use_default=True,
622628 apply_default_values_for_required_fields = True ,
623629 use_unique_items_as_set = True ,
624- # enum_field_as_literal=datamodel_code_generator.LiteralType.All,
625- enum_field_as_literal = "all" ,
630+ enum_field_as_literal = datamodel_code_generator .LiteralType .Off ,
626631 # will create MyEnum(str, Enum) instead of MyEnum(Enum)
627632 use_subclass_enum = True ,
628633 set_default_enum_member = True ,
@@ -634,6 +639,7 @@ def _fetch_schema(self, fetchSchemaParam: _FetchSchemaParam = None) -> None:
634639 collapse_root_models = True ,
635640 reuse_model = True ,
636641 field_include_all_keys = True ,
642+ allof_class_hierarchy = datamodel_code_generator .AllOfClassHierarchy .Always ,
637643 )
638644 warnings .filterwarnings ("default" , category = PydanticDeprecatedSince20 )
639645
0 commit comments