def handle_options(tool, option, _onto): name = option['name'] if name is None: name = 'option' _name = Preprocessor.io_name(Preprocessor.name_underline(name), _onto) op = SagaOption(_name, prefLabel=locstr(name, lang='en')) tool.option.append(op) if option['description'] != '-': op.description = option['description'] op.flag = option['flag'] op.identifier = name constraints = option['constraints'] # shacl pshape = Sh.PropertyShape(0) pshape.path.append(_onto.dataContent) if constraints: if 'fields_des' in constraints.keys() and constraints['fields_des']: op.description.append(constraints['fields_des']) else: if 'minimum' in constraints.keys() and constraints['minimum']: op.minimum = constraints['minimum'] pshape.minExclusive = constraints['minimum'] if 'defaultValue' in constraints.keys( ) and constraints['defaultValue']: op.defaultValue = constraints['defaultValue'] pshape.defaultValue = constraints['defaultValue'] if 'maximum' in constraints.keys() and constraints['maximum']: op.maximum = constraints['maximum'] pshape.maxInclusive = constraints['maximum'] op.datatypeInString.append(option['dataType']) pshape.datatype = [OWLUtils.get_datatype_iris(option['dataType'])] op.datatype.append(OWLUtils.get_datatype_iris(option['dataType'])) if 'availableChoices' in constraints.keys( ) and constraints['availableChoices']: c = [] for achoice in constraints['availableChoices']: c.append(achoice['choice']) with _onto: g.add((pshape, Sh['in'], c)) OWLUtils.handle_choices(op, name, constraints['availableChoices'], SagaAvailableChoice, _onto)
def handle_options(tool, param, _onto): pname = param['name'] _name = Preprocessor.io_name(pname, _onto, common_options) p = GDALOption(_name, prefLabel=locstr(pname, lang='en')) p.identifier = pname if param['flag']: p.flag = param['flag'] p.isOptional = param['isOptional'] p.description.append(locstr(param['explanation'], lang='en')) p.datatype.append(OWLUtils.get_datatype_iris(param['dataType'])) if "available_values" in param.keys(): for value in param['available_values']: p.availableValue.append(value) onto, _list = OWLUtils.resources_2_rdf_list(_onto, param['available_values']) p.availableList.append(_list) if "available_choices" in param.keys(): p, onto = OWLUtils.handle_choices(p, pname, param['available_choices'], GDALAvailableChoice, _onto) if "input_pattern" in param.keys(): p.inputPattern.append(param['input_pattern']) tool.option.append(p)