| Total Complexity | 7 | 
| Total Lines | 29 | 
| Duplicated Lines | 0 % | 
| Changes | 2 | ||
| Bugs | 0 | Features | 1 | 
| 1 | """Contain mechanism for changing position.""" | ||
| 6 | class PositionUpdater: | ||
| 7 | """Class responsible for moving objects. | ||
| 8 | |||
| 9 | Attributes: | ||
| 10 | stage (AbstractStage): Stage in which we are going to move. | ||
| 11 | """ | ||
| 12 | def __init__(self, stage): | ||
| 13 | self.stage = stage | ||
| 14 | self.lower_bounds = np.asarray(self.stage.lower_bounds) | ||
| 15 | self.upper_bounds = np.asarray(self.stage.upper_bounds) | ||
| 16 | |||
| 17 | def set_initial_control_params(self): | ||
| 18 | """Set initial positions.""" | ||
| 19 | random = np.random.rand(len(self.stage.control_params)) | ||
| 20 | delta = self.upper_bounds - self.lower_bounds | ||
| 21 | control_params = self.lower_bounds + random * delta | ||
| 22 | self.stage.control_params = control_params.tolist() | ||
| 23 | |||
| 24 | def update_position(self, velocity): | ||
| 25 | """Update positions.""" | ||
| 26 | self.stage.control_params = self.stage.control_params + velocity | ||
| 27 | self._fix_coordinates() | ||
| 28 | |||
| 29 | def _fix_coordinates(self): | ||
| 30 | for i in range(len(self.stage.control_params)): | ||
| 31 | if self.stage.control_params[i] > self.stage.upper_bounds[i]: | ||
| 32 | self.stage.control_params[i] = self.stage.upper_bounds[i] | ||
| 33 | elif self.stage.control_params[i] < self.stage.lower_bounds[i]: | ||
| 34 | self.stage.control_params[i] = self.stage.lower_bounds[i] | ||
| 35 | 
This can be caused by one of the following:
1. Missing Dependencies
This error could indicate a configuration issue of Pylint. Make sure that your libraries are available by adding the necessary commands.
2. Missing __init__.py files
This error could also result from missing
__init__.pyfiles in your module folders. Make sure that you place one file in each sub-folder.