コード例 #1
0
 def get_next_state(self) -> str:
     should_get_params = \
         len(
             get_params_to_get(
                 self.acs.device_cfg,
                 self.acs.data_model,
             ),
         ) > 0
     if should_get_params:
         return self.done_transition
     should_get_obj_params = \
         len(
             get_object_params_to_get(
                 self.acs.desired_cfg,
                 self.acs.device_cfg,
                 self.acs.data_model,
             ),
         ) > 0
     if should_get_obj_params:
         return self.get_obj_params_transition
     elif len(
             get_all_objects_to_delete(
                 self.acs.desired_cfg,
                 self.acs.device_cfg,
             ), ) > 0:
         return self.rm_obj_transition
     elif len(
             get_all_objects_to_add(
                 self.acs.desired_cfg,
                 self.acs.device_cfg,
             ), ) > 0:
         return self.add_obj_transition
     return self.skip_transition
コード例 #2
0
    def get_msg(self, message: Any) -> AcsMsgAndTransition:
        """
        Respond with GetParameterValuesRequest

        Get the values of all parameters defined in the data model.
        Also check which addable objects are present, and what the values of
        parameters for those objects are.
        """

        # Get the names of regular parameters
        names = get_params_to_get(
            self.acs.device_cfg,
            self.acs.data_model,
            self.request_all_params,
        )

        # Generate the request
        request = models.GetParameterValues()
        request.ParameterNames = models.ParameterNames()
        request.ParameterNames.arrayType = 'xsd:string[%d]' \
                                           % len(names)
        request.ParameterNames.string = []
        for name in names:
            path = self.acs.data_model.get_parameter(name).path
            request.ParameterNames.string.append(path)

        return AcsMsgAndTransition(request, self.done_transition)
コード例 #3
0
ファイル: freedomfi_one.py プロジェクト: markjen/magma
    def get_params_to_get(
        self,
        data_model: DataModel,
    ) -> List[ParameterName]:
        names = []

        # First get base params
        names = get_params_to_get(
            self.acs.device_cfg,
            self.acs.data_model,
            request_all_params=True,
        )
        # Add object params.
        num_plmns = data_model.get_num_plmns()
        obj_to_params = data_model.get_numbered_param_names()
        for i in range(1, num_plmns + 1):
            obj_name = ParameterName.PLMN_N % i
            desired = obj_to_params[obj_name]
            names += desired
        return names