mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-03-26 21:33:05 +00:00
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
import os
|
|
|
|
|
|
def get_roles(directory):
|
|
roles = []
|
|
|
|
_rolesdir = "%s/roles/" % directory
|
|
for _role in os.listdir(_rolesdir):
|
|
_roledir = "%s/%s" % (_rolesdir, _role)
|
|
if not os.path.isdir(_roledir) or \
|
|
not os.path.isdir("%s/meta" % _roledir) or \
|
|
not os.path.isdir("%s/tasks" % _roledir):
|
|
continue
|
|
roles.append(_role)
|
|
|
|
return sorted(roles)
|
|
|
|
|
|
def get_modules(directory):
|
|
management_modules = []
|
|
roles_modules = []
|
|
|
|
for root, _dirs, files in os.walk(directory):
|
|
if not root.startswith("%s/plugins/" % directory) and \
|
|
not root.startswith("%s/roles/" % directory):
|
|
continue
|
|
for _file in files:
|
|
if _file.endswith(".py"):
|
|
if root == "%s/plugins/modules" % directory:
|
|
management_modules.append(_file[:-3])
|
|
elif root.startswith("%s/roles/" % directory):
|
|
if root.endswith("/library"):
|
|
roles_modules.append(_file[:-3])
|
|
|
|
return sorted(management_modules), sorted(roles_modules)
|
|
|
|
|
|
BASE_DIR = os.path.abspath(os.path.dirname(__file__) + "/..")
|
|
ROLES = get_roles(BASE_DIR)
|
|
MANAGEMENT_MODULES, ROLES_MODULES = get_modules(BASE_DIR)
|
|
ALL_MODULES = sorted(MANAGEMENT_MODULES + ROLES_MODULES)
|