示例#1
0
文件: managers.py 项目: klema/miXGENE
    def save_params(self, block, received_block):
        """
            @param block: GenericBlock
            @param received_block: dict
        """
        for p_name, p in self.params.iteritems():
            # TODO: here invoke validator
            try:
                raw_val = received_block.get(p_name)

                # TODO: add conversion to BlockField class
                if p.field_type == FieldType.FLOAT:
                    val = float(raw_val)
                elif p.field_type == FieldType.INT:
                    val = int(raw_val)
                elif p.field_type == FieldType.STR:
                    val = str(raw_val)
                elif p.field_type == FieldType.RAW:
                    val = raw_val
                else:
                    continue
                    #val = raw_val

                setattr(block, p_name, val)
            except:
                pass

        inputs_dict = received_block.get('bound_inputs')
        if inputs_dict:
            for _, input_field in self.inputs.iteritems():
                key = inputs_dict.get(input_field.name)
                if key:
                    var = ScopeVar.from_key(key)
                    block.bind_input_var(input_field.name, var)
示例#2
0
文件: managers.py 项目: klema/miXGENE
    def save_params(self, block, received_block):
        """
            @param block: GenericBlock
            @param received_block: dict
        """
        for p_name, p in self.params.iteritems():
            # TODO: here invoke validator
            try:
                raw_val = received_block.get(p_name)

                # TODO: add conversion to BlockField class
                if p.field_type == FieldType.FLOAT:
                    val = float(raw_val)
                elif p.field_type == FieldType.INT:
                    val = int(raw_val)
                elif p.field_type == FieldType.STR:
                    val = str(raw_val)
                elif p.field_type == FieldType.RAW:
                    val = raw_val
                else:
                    continue
                    # val = raw_val

                setattr(block, p_name, val)
            except:
                pass

        inputs_dict = received_block.get("bound_inputs")
        if inputs_dict:
            for _, input_field in self.inputs.iteritems():
                key = inputs_dict.get(input_field.name)
                if key:
                    var = ScopeVar.from_key(key)
                    block.bind_input_var(input_field.name, var)
示例#3
0
    def add_collector_var(self, exp, received_block, *args, **kwargs):
        rec_new = received_block.get("collector_spec", {}).get("new", {})
        if rec_new:
            name = str(rec_new.get("name"))
            scope_var_key = rec_new.get("scope_var")
            data_type = rec_new.get("data_type")
            if name and scope_var_key:
                scope_var = ScopeVar.from_key(scope_var_key)
                scope_var.data_type = data_type
                self.collector_spec.register(name, scope_var)

        self.update_res_seq_fields()
        exp.store_block(self)
        self.validate_params(exp, received_block, *args, **kwargs)