Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

# Copyright: (c) 2017, Ansible Project 

# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 

 

from __future__ import (absolute_import, division, print_function) 

__metaclass__ = type 

 

 

class ConfigData(object): 

 

def __init__(self): 

self._global_settings = {} 

self._plugins = {} 

 

def get_setting(self, name, plugin=None): 

 

setting = None 

if plugin is None: 

setting = self._global_settings.get(name) 

elif plugin.type in self._plugins and plugin.name in self._plugins[plugin.type]: 

setting = self._plugins[plugin.type][plugin.name].get(name) 

 

return setting 

 

def get_settings(self, plugin=None): 

 

settings = [] 

27 ↛ 29line 27 didn't jump to line 29, because the condition on line 27 was never false if plugin is None: 

settings = [self._global_settings[k] for k in self._global_settings] 

elif plugin.type in self._plugins and plugin.name in self._plugins[plugin.type]: 

settings = [self._plugins[plugin.type][plugin.name][k] for k in self._plugins[plugin.type][plugin.name]] 

 

return settings 

 

def update_setting(self, setting, plugin=None): 

 

36 ↛ 39line 36 didn't jump to line 39, because the condition on line 36 was never false if plugin is None: 

self._global_settings[setting.name] = setting 

else: 

if plugin.type not in self._plugins: 

self._plugins[plugin.type] = {} 

if plugin.name not in self._plugins[plugin.type]: 

self._plugins[plugin.type][plugin.name] = {} 

self._plugins[plugin.type][plugin.name][setting.name] = setting