mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] add 'yunohost tools shell'
This commit is contained in:
parent
f41c2dd763
commit
52c7a37a78
2 changed files with 30 additions and 0 deletions
|
@ -1478,6 +1478,12 @@ tools:
|
|||
extra:
|
||||
pattern: *pattern_port
|
||||
|
||||
### tools_shell()
|
||||
shell:
|
||||
configuration:
|
||||
authenticate: all
|
||||
action_help: Launch a development shell
|
||||
|
||||
### tools_shutdown()
|
||||
shutdown:
|
||||
action_help: Shutdown the server
|
||||
|
|
|
@ -814,6 +814,30 @@ def tools_migrations_state():
|
|||
return read_json(MIGRATIONS_STATE_PATH)
|
||||
|
||||
|
||||
def tools_shell(auth):
|
||||
"""
|
||||
Launch an (i)python shell in the YunoHost context.
|
||||
|
||||
This is entirely aim for development.
|
||||
"""
|
||||
|
||||
logger.warn("The \033[1;34mauth\033[0m is available in this context")
|
||||
try:
|
||||
from IPython import embed
|
||||
embed()
|
||||
except ImportError:
|
||||
logger.warn("You don't have IPython installed, consider installing it as it is way better than the standard shell.")
|
||||
logger.warn("Falling back on the standard shell.")
|
||||
|
||||
import readline # will allow Up/Down/History in the console
|
||||
readline # to please pyflakes
|
||||
import code
|
||||
vars = globals().copy()
|
||||
vars.update(locals())
|
||||
shell = code.InteractiveConsole(vars)
|
||||
shell.interact()
|
||||
|
||||
|
||||
def _get_migrations_list():
|
||||
migrations = []
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue