Add command line argument to list modules

This commit is contained in:
mridulnagpal 2016-12-13 23:10:19 +05:30 committed by James Valleroy
parent 95ab7f0184
commit fac840ec48
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808

View File

@ -63,6 +63,9 @@ def parse_arguments():
parser.add_argument(
'--list-dependencies', default=False, nargs='*',
help='list package dependencies for essential modules')
parser.add_argument(
'--list-modules', default=False, nargs='*',
help='list of enabled modules')
global arguments
arguments = parser.parse_args()
@ -285,6 +288,20 @@ def list_dependencies(module_list):
sys.exit(error_code)
def list_modules(modules_type) :
"""List all enabled modules"""
for module_name, module in module_loader.loaded_modules.items():
if modules_type:
if 'essential' in modules_type :
if getattr(module, 'is_essential', False) is True :
print('{module_name}'.format(module_name=module_name))
else:
if getattr(module, 'is_essential', False) is False :
print('{module_name}'.format(module_name=module_name))
else:
print('{module_name}'.format(module_name=module_name))
sys.exit()
def run_diagnostics_and_exit():
"""Run diagostics on all modules and exit."""
module = importlib.import_module('plinth.modules.diagnostics.diagnostics')
@ -330,9 +347,13 @@ def main():
if arguments.list_dependencies is not False:
list_dependencies(arguments.list_dependencies)
if arguments.list_modules is not False:
list_modules(arguments.list_modules)
if arguments.diagnose:
run_diagnostics_and_exit()
setup_server()
cherrypy.engine.start()