diff --git a/sand/controllers/table.py b/sand/controllers/table.py index 4010e89..7bb624d 100644 --- a/sand/controllers/table.py +++ b/sand/controllers/table.py @@ -18,7 +18,7 @@ import sm.outputs.semantic_model as O from flask import jsonify, request, make_response from peewee import DoesNotExist, fn - +from drepr.engine import OutputFormat from werkzeug.exceptions import BadRequest, NotFound @@ -121,7 +121,7 @@ def export_table_data(id: int): rows: List[TableRow] = list(TableRow.select().where(TableRow.table == table)) # export the data using drepr library - content = DreprExport().export_data(table, rows, sm.data, 'TTL') + content = DreprExport().export_data(table, rows, sm.data, OutputFormat.TTL) resp = make_response(content) resp.headers["Content-Type"] = "text/ttl; charset=utf-8" if request.args.get("attachment", "false") == "true": diff --git a/sand/extension_interface/export.py b/sand/extension_interface/export.py index 98f573d..5b7e864 100644 --- a/sand/extension_interface/export.py +++ b/sand/extension_interface/export.py @@ -1,10 +1,10 @@ from abc import ABC, abstractmethod -from typing import List, AnyStr +from typing import List import sm.outputs.semantic_model as O from sand.models.table import Table, TableRow -from sand.models.table import Table, TableRow from drepr.models import DRepr +from drepr.engine import OutputFormat class IExport(ABC): @@ -20,6 +20,6 @@ def export_data_model(self, table: Table, sm: O.SemanticModel) -> DRepr: @abstractmethod def export_data(self, table: Table, rows: List[TableRow], sm: O.SemanticModel, - output_format: AnyStr): + output_format: OutputFormat): """Search Class using name""" pass diff --git a/sand/extensions/export/drepr/main.py b/sand/extensions/export/drepr/main.py index 02aa286..30768ef 100644 --- a/sand/extensions/export/drepr/main.py +++ b/sand/extensions/export/drepr/main.py @@ -1,4 +1,5 @@ -from typing import List, Set, AnyStr +from typing import List, Set +from enum import Enum from sand.config import SETTINGS from sand.models.ontology import OntProperty, OntPropertyAR, OntPropertyDataType from sand.models.table import Table, TableRow @@ -127,7 +128,7 @@ def export_data_model(self, table: Table, sm: O.SemanticModel) -> DRepr: ) def export_data(self, table: Table, rows: List[TableRow], sm: O.SemanticModel, - output_format: AnyStr): + output_format: OutputFormat): """Convert a relational table into RDF format""" if len(table.columns) == 0: # no column, no data @@ -142,7 +143,7 @@ def export_data(self, table: Table, rows: List[TableRow], sm: O.SemanticModel, content = execute( ds_model=self.export_data_model(table, sm), resources=resources, - output=MemoryOutput(OutputFormat.__getitem__(output_format)), + output=MemoryOutput(output_format), debug=False, ) return content