def create_parameter_context(self, name='', parameter_context=None, description='', reference_urls=None, parameter_type='', internal_name='', value_encoding='', code_report='', units='', fill_value='', display_name='', parameter_function_id='', parameter_function_map='', standard_name='', ooi_short_name='', precision='', visible=True):
        
        validate_true(name, 'Name field may not be empty')
        validate_is_instance(parameter_context, dict, 'parameter_context field is not dictable.')
        parameter_context = self.numpy_walk(parameter_context)
        pc_res = ParameterContextResource(name=name, parameter_context=parameter_context, description=description)
        pc_res.reference_urls = reference_urls or []
        pc_res.parameter_type = parameter_type
        pc_res.internal_name = internal_name or name
        pc_res.value_encoding = value_encoding
        pc_res.code_report = code_report or ''
        pc_res.units = units
        pc_res.fill_value = fill_value
        pc_res.display_name = display_name
        pc_res.parameter_function_id = parameter_function_id
        pc_res.parameter_function_map = parameter_function_map
        pc_res.standard_name = standard_name
        pc_res.ooi_short_name = ooi_short_name
        pc_res.precision = precision or '5'
        pc_res.visible = visible

        pc_id, ver = self.clients.resource_registry.create(pc_res)
        if parameter_function_id:
            self.read_parameter_function(parameter_function_id)
            self.clients.resource_registry.create_association(subject=pc_id, predicate=PRED.hasParameterFunction, object=parameter_function_id)
        
        return pc_id
    def create_parameter_context(self, name='', parameter_context=None, description='', reference_urls=None, parameter_type='', internal_name='', value_encoding='', code_report=None, units='', fill_value='', display_name='', parameter_function_id='', parameter_function_map=None, standard_name='', ooi_short_name='', precision=''):
        res, _ = self.clients.resource_registry.find_resources(restype=RT.ParameterContext, name=name, id_only=False)
        if len(res):
            for r in res:
                if r.name == name and self._compare_pc(r.parameter_context, parameter_context):
                    return r._id
        
        validate_true(name, 'Name field may not be empty')
        validate_is_instance(parameter_context, dict, 'parameter_context field is not dictable.')
        pc_res = ParameterContextResource(name=name, parameter_context=parameter_context, description=description)
        pc_res.reference_urls = reference_urls or []
        pc_res.parameter_type = parameter_type
        pc_res.internal_name = internal_name or name
        pc_res.value_encoding = value_encoding
        pc_res.code_report = code_report or {}
        pc_res.units = units
        pc_res.fill_value = fill_value
        pc_res.display_name = display_name
        pc_res.parameter_function_id = parameter_function_id
        pc_res.parameter_function_map = parameter_function_map
        pc_res.standard_name = standard_name
        pc_res.ooi_short_name = ooi_short_name
        pc_res.precision = precision or '5'

        pc_id, ver = self.clients.resource_registry.create(pc_res)
        if parameter_function_id:
            self.read_parameter_function(parameter_function_id)
            self.clients.resource_registry.create_association(subject=pc_id, predicate=PRED.hasParameterFunction, object=parameter_function_id)
        
        return pc_id
Exemplo n.º 3
0
    def create_parameter_context(self,
                                 name='',
                                 parameter_context=None,
                                 description='',
                                 parameter_type='',
                                 value_encoding='',
                                 unit_of_measure='',
                                 parameter_function_ids=None):
        parameter_function_ids = parameter_function_ids or []
        res, _ = self.clients.resource_registry.find_resources(
            restype=RT.ParameterContext, name=name, id_only=False)
        if len(res):
            for r in res:
                if r.name == name and self._compare_pc(r.parameter_context,
                                                       parameter_context):
                    return r._id

        validate_true(name, 'Name field may not be empty')
        validate_is_instance(parameter_context, dict,
                             'parameter_context field is not dictable.')
        pc_res = ParameterContextResource(name=name,
                                          parameter_context=parameter_context,
                                          description=description)
        pc_res.parameter_type = parameter_type
        pc_res.value_encoding = value_encoding
        pc_res.unit_of_measure = unit_of_measure
        pc_id, ver = self.clients.resource_registry.create(pc_res)
        for pfunc_id in parameter_function_ids:
            self.read_parameter_function(pfunc_id)
            self.clients.resource_registry.create_association(
                subject=pc_id,
                predicate=PRED.hasParameterFunction,
                object=pfunc_id)

        return pc_id
Exemplo n.º 4
0
    def create_parameter_context(self,
                                 name='',
                                 parameter_context=None,
                                 description='',
                                 reference_urls=None,
                                 parameter_type='',
                                 internal_name='',
                                 value_encoding='',
                                 code_report='',
                                 units='',
                                 fill_value='',
                                 display_name='',
                                 parameter_function_id='',
                                 parameter_function_map='',
                                 standard_name='',
                                 ooi_short_name='',
                                 precision='',
                                 visible=True):

        validate_true(name, 'Name field may not be empty')

        validate_is_instance(parameter_context, dict,
                             'parameter_context field is not dictable.')
        name = re.sub(r'[^a-zA-Z0-9_]', '_', name)
        parameter_context = self.numpy_walk(parameter_context)
        parameter_context['name'] = name
        pc_res = ParameterContextResource(name=name,
                                          parameter_context=parameter_context,
                                          description=description)
        pc_res.reference_urls = reference_urls or []
        pc_res.parameter_type = parameter_type
        pc_res.internal_name = internal_name or name
        pc_res.value_encoding = value_encoding
        pc_res.code_report = code_report or ''
        pc_res.units = units
        pc_res.fill_value = fill_value
        pc_res.display_name = display_name
        pc_res.parameter_function_id = parameter_function_id
        pc_res.parameter_function_map = parameter_function_map
        pc_res.standard_name = standard_name
        pc_res.ooi_short_name = ooi_short_name
        pc_res.precision = precision or '5'
        pc_res.visible = visible

        pc_id, ver = self.clients.resource_registry.create(pc_res)
        if parameter_function_id:
            self.read_parameter_function(parameter_function_id)
            self.clients.resource_registry.create_association(
                subject=pc_id,
                predicate=PRED.hasParameterFunction,
                object=parameter_function_id)

        return pc_id
 def create_parameter_context(self, name='', parameter_context=None, description='', parameter_type='', value_encoding='', unit_of_measure=''):
     res, _ = self.clients.resource_registry.find_resources(restype=RT.ParameterContext, name=name, id_only=False)
     if len(res):
         for r in res:
             if r.name == name and self._compare_pc(r.parameter_context, parameter_context):
                 return r._id
     
     validate_true(name, 'Name field may not be empty')
     validate_is_instance(parameter_context, dict, 'parameter_context field is not dictable.')
     pc_res = ParameterContextResource(name=name, parameter_context=parameter_context, description=description)
     pc_res.parameter_type  = parameter_type
     pc_res.value_encoding  = value_encoding
     pc_res.unit_of_measure = unit_of_measure
     pc_id, ver = self.clients.resource_registry.create(pc_res)
     
     return pc_id
 def create_parameter_context(self, name='', parameter_context=None, description='', parameter_type='', value_encoding='', unit_of_measure='', parameter_function_ids=None):
     parameter_function_ids = parameter_function_ids or []
     res, _ = self.clients.resource_registry.find_resources(restype=RT.ParameterContext, name=name, id_only=False)
     if len(res):
         for r in res:
             if r.name == name and self._compare_pc(r.parameter_context, parameter_context):
                 return r._id
     
     validate_true(name, 'Name field may not be empty')
     validate_is_instance(parameter_context, dict, 'parameter_context field is not dictable.')
     pc_res = ParameterContextResource(name=name, parameter_context=parameter_context, description=description)
     pc_res.parameter_type  = parameter_type
     pc_res.value_encoding  = value_encoding
     pc_res.unit_of_measure = unit_of_measure
     pc_id, ver = self.clients.resource_registry.create(pc_res)
     for pfunc_id in parameter_function_ids:
         self.read_parameter_function(pfunc_id)
         self.clients.resource_registry.create_association(subject=pc_id, predicate=PRED.hasParameterFunction, object=pfunc_id)
     
     return pc_id