mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-20 10:34:30 +00:00
main: List dependencies without writing to disk
- Don't run the second phase of web framework initialization. This avoids writing to the DB file. - Set log level to ERROR so that no messages get printed even to stderr while listing dependencies. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
a145742ebc
commit
5d3c010b2e
@ -129,6 +129,11 @@ def main():
|
|||||||
|
|
||||||
adapt_config(arguments)
|
adapt_config(arguments)
|
||||||
|
|
||||||
|
if arguments.list_dependencies is not False:
|
||||||
|
log.default_level = 'ERROR'
|
||||||
|
web_framework.init(read_only=True)
|
||||||
|
list_dependencies(arguments.list_dependencies)
|
||||||
|
|
||||||
log.init()
|
log.init()
|
||||||
|
|
||||||
web_framework.init()
|
web_framework.init()
|
||||||
@ -152,9 +157,6 @@ def main():
|
|||||||
if arguments.setup_no_install is not False:
|
if arguments.setup_no_install is not False:
|
||||||
run_setup_and_exit(arguments.setup_no_install, allow_install=False)
|
run_setup_and_exit(arguments.setup_no_install, allow_install=False)
|
||||||
|
|
||||||
if arguments.list_dependencies is not False:
|
|
||||||
list_dependencies(arguments.list_dependencies)
|
|
||||||
|
|
||||||
if arguments.list_modules is not False:
|
if arguments.list_modules is not False:
|
||||||
list_modules(arguments.list_modules)
|
list_modules(arguments.list_modules)
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
Utilities for performing application setup operations.
|
Utilities for performing application setup operations.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
@ -207,7 +208,9 @@ def setup_modules(module_list=None, essential=False, allow_install=True):
|
|||||||
|
|
||||||
def list_dependencies(module_list=None, essential=False):
|
def list_dependencies(module_list=None, essential=False):
|
||||||
"""Print list of packages required by selected or essential modules."""
|
"""Print list of packages required by selected or essential modules."""
|
||||||
for module_name, module in plinth.module_loader.loaded_modules.items():
|
for module_import_path in plinth.module_loader.get_modules_to_load():
|
||||||
|
module_name = module_import_path.split('.')[-1]
|
||||||
|
module = importlib.import_module(module_import_path)
|
||||||
if essential and not _is_module_essential(module):
|
if essential and not _is_module_essential(module):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user