Beispiel #1
0
def get_credential_modules():
    verbose = "-v" in sys.argv

    protected_settings = SettingsBase._SettingsBase__PROTECTED_SETTINGS
    class_finder = ClassFinder(Module)
    credential_modules = defaultdict(dict)
    for module_name in get_modules():
        try:
            module = class_finder.get_module(module_name)
        except ImportError:
            if verbose:
                print("ImportError while importing", module_name)
            continue
        clazz = class_finder.get_class(module)
        members = [m[0] for m in inspect.getmembers(clazz) if not m[0].startswith('_')]
        if any([hasattr(clazz, setting) for setting in protected_settings]):
            credential_modules[clazz.__name__]['credentials'] = list(set(protected_settings) & set(members))
            credential_modules[clazz.__name__]['key'] = "%s.%s" % (clazz.__module__, clazz.__name__)
        elif hasattr(clazz, 'required'):
            protected = []
            required = getattr(clazz, 'required')
            for setting in protected_settings:
                if setting in required:
                    protected.append(setting)
            if protected:
                credential_modules[clazz.__name__]['credentials'] = protected
                credential_modules[clazz.__name__]['key'] = "%s.%s" % (clazz.__module__, clazz.__name__)
    return credential_modules
Beispiel #2
0
            if n in _range:
                return n
            else:
                print("Value out of range!")
        except ValueError:
            print("Invalid input!")


modules = [
    os.path.basename(m.replace('.py', '')) for m in glob.glob(
        os.path.join(os.path.dirname(__file__), "i3pystatus", "*.py"))
    if not os.path.basename(m).startswith('_')
]

protected_settings = SettingsBase._SettingsBase__PROTECTED_SETTINGS
class_finder = ClassFinder(Module)
credential_modules = defaultdict(dict)
for module_name in modules:
    try:
        module = class_finder.get_module(module_name)
        clazz = class_finder.get_class(module)
        members = [
            m[0] for m in inspect.getmembers(clazz) if not m[0].startswith('_')
        ]
        if any([hasattr(clazz, setting) for setting in protected_settings]):
            credential_modules[clazz.__name__]['credentials'] = list(
                set(protected_settings) & set(members))
            credential_modules[clazz.__name__]['key'] = "%s.%s" % (
                clazz.__module__, clazz.__name__)
        elif hasattr(clazz, 'required'):
            protected = []
 def setUp(self):
     self.status_handler = MagicMock()
     self.ml = util.ModuleList(self.status_handler,
                               ClassFinder(self.ModuleBase))
Beispiel #4
0
        answer = input(prompt)
        try:
            n = int(answer.strip())
            if n in _range:
                return n
            else:
                print("Value out of range!")
        except ValueError:
            print("Invalid input!")

modules = [os.path.basename(m.replace('.py', ''))
           for m in glob.glob(os.path.join(os.path.dirname(__file__), "i3pystatus", "*.py"))
           if not os.path.basename(m).startswith('_')]

protected_settings = SettingsBase._SettingsBase__PROTECTED_SETTINGS
class_finder = ClassFinder(Module)
credential_modules = defaultdict(dict)
for module_name in modules:
    try:
        module = class_finder.get_module(module_name)
        clazz = class_finder.get_class(module)
        members = [m[0] for m in inspect.getmembers(clazz) if not m[0].startswith('_')]
        if any([hasattr(clazz, setting) for setting in protected_settings]):
            credential_modules[clazz.__name__]['credentials'] = list(set(protected_settings) & set(members))
            credential_modules[clazz.__name__]['key'] = "%s.%s" % (clazz.__module__, clazz.__name__)
        elif hasattr(clazz, 'required'):
            protected = []
            required = getattr(clazz, 'required')
            for setting in protected_settings:
                if setting in required:
                    protected.append(setting)