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)
Exemple #2
0
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)