mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
devshell: list commands when throwing NoSupportedTerminals
When attempting to run devshell, if no terminal is available, the error being thrown was not very specific. This adds a list of commands that failed, informing the user of what they can install to fix the error. [ YOCTO #10472] (From OE-Core rev: c077f4aab2fc956408d4ad45c4e2e2ea6e480624) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
52f42d7677
commit
93e8db2224
@@ -11,7 +11,8 @@ class UnsupportedTerminal(Exception):
|
||||
pass
|
||||
|
||||
class NoSupportedTerminals(Exception):
|
||||
pass
|
||||
def __init__(self, terms):
|
||||
self.terms = terms
|
||||
|
||||
|
||||
class Registry(oe.classutils.ClassRegistry):
|
||||
@@ -209,6 +210,14 @@ class Custom(Terminal):
|
||||
def prioritized():
|
||||
return Registry.prioritized()
|
||||
|
||||
def get_cmd_list():
|
||||
terms = Registry.prioritized()
|
||||
cmds = []
|
||||
for term in terms:
|
||||
if term.command:
|
||||
cmds.append(term.command)
|
||||
return cmds
|
||||
|
||||
def spawn_preferred(sh_cmd, title=None, env=None, d=None):
|
||||
"""Spawn the first supported terminal, by priority"""
|
||||
for terminal in prioritized():
|
||||
@@ -218,7 +227,7 @@ def spawn_preferred(sh_cmd, title=None, env=None, d=None):
|
||||
except UnsupportedTerminal:
|
||||
continue
|
||||
else:
|
||||
raise NoSupportedTerminals()
|
||||
raise NoSupportedTerminals(get_cmd_list())
|
||||
|
||||
def spawn(name, sh_cmd, title=None, env=None, d=None):
|
||||
"""Spawn the specified terminal, by name"""
|
||||
|
||||
Reference in New Issue
Block a user