mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 18:49:33 +02:00
python-smartpm: show friendly error if YAML output requested without PyYAML
Instead of a python backtrace, tell the user they need to install PyYAML if they wish to use the --yaml output options. Fixes [YOCTO #3768]. (From OE-Core rev: 69caf24112c11609eb351bea09817029bca0ff2e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
06e245303c
commit
0d85fa531b
@@ -0,0 +1,86 @@
|
|||||||
|
Print a more friendly error if YAML output is requested without PyYAML
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||||
|
|
||||||
|
diff --git a/smart/commands/channel.py b/smart/commands/channel.py
|
||||||
|
index 63fbb35..108f3f1 100644
|
||||||
|
--- a/smart/commands/channel.py
|
||||||
|
+++ b/smart/commands/channel.py
|
||||||
|
@@ -339,7 +339,10 @@ def main(ctrl, opts):
|
||||||
|
print
|
||||||
|
|
||||||
|
if opts.yaml is not None:
|
||||||
|
- import yaml
|
||||||
|
+ try:
|
||||||
|
+ import yaml
|
||||||
|
+ except ImportError:
|
||||||
|
+ raise Error, _("Please install PyYAML in order to use this function")
|
||||||
|
yamlchannels = {}
|
||||||
|
for alias in (opts.yaml or sysconf.get("channels", ())):
|
||||||
|
channel = sysconf.get(("channels", alias))
|
||||||
|
diff --git a/smart/commands/config.py b/smart/commands/config.py
|
||||||
|
index 4fe4366..aa1db78 100644
|
||||||
|
--- a/smart/commands/config.py
|
||||||
|
+++ b/smart/commands/config.py
|
||||||
|
@@ -137,7 +137,10 @@ def main(ctrl, opts):
|
||||||
|
pprint.pprint(sysconf.get((), hard=True))
|
||||||
|
|
||||||
|
if opts.yaml is not None:
|
||||||
|
- import yaml
|
||||||
|
+ try:
|
||||||
|
+ import yaml
|
||||||
|
+ except ImportError:
|
||||||
|
+ raise Error, _("Please install PyYAML in order to use this function")
|
||||||
|
if opts.yaml:
|
||||||
|
marker = object()
|
||||||
|
for opt in opts.yaml:
|
||||||
|
diff --git a/smart/commands/flag.py b/smart/commands/flag.py
|
||||||
|
index ed18999..8b90496 100644
|
||||||
|
--- a/smart/commands/flag.py
|
||||||
|
+++ b/smart/commands/flag.py
|
||||||
|
@@ -138,7 +138,10 @@ def main(ctrl, opts):
|
||||||
|
print
|
||||||
|
|
||||||
|
if opts.yaml is not None:
|
||||||
|
- import yaml
|
||||||
|
+ try:
|
||||||
|
+ import yaml
|
||||||
|
+ except ImportError:
|
||||||
|
+ raise Error, _("Please install PyYAML in order to use this function")
|
||||||
|
yamlflags = {}
|
||||||
|
for flag in opts.yaml or pkgconf.getFlagNames():
|
||||||
|
flag = flag.strip()
|
||||||
|
diff --git a/smart/commands/mirror.py b/smart/commands/mirror.py
|
||||||
|
index ca50a95..f7b019d 100644
|
||||||
|
--- a/smart/commands/mirror.py
|
||||||
|
+++ b/smart/commands/mirror.py
|
||||||
|
@@ -218,7 +218,10 @@ def main(ctrl, opts):
|
||||||
|
print
|
||||||
|
|
||||||
|
if opts.yaml:
|
||||||
|
- import yaml
|
||||||
|
+ try:
|
||||||
|
+ import yaml
|
||||||
|
+ except ImportError:
|
||||||
|
+ raise Error, _("Please install PyYAML in order to use this function")
|
||||||
|
yamlmirrors = {}
|
||||||
|
mirrors = sysconf.get("mirrors", ())
|
||||||
|
for origin in mirrors:
|
||||||
|
diff --git a/smart/commands/priority.py b/smart/commands/priority.py
|
||||||
|
index d850d29..441ea32 100644
|
||||||
|
--- a/smart/commands/priority.py
|
||||||
|
+++ b/smart/commands/priority.py
|
||||||
|
@@ -117,7 +117,10 @@ def main(ctrl, opts):
|
||||||
|
print
|
||||||
|
|
||||||
|
elif opts.yaml:
|
||||||
|
- import yaml
|
||||||
|
+ try:
|
||||||
|
+ import yaml
|
||||||
|
+ except ImportError:
|
||||||
|
+ raise Error, _("Please install PyYAML in order to use this function")
|
||||||
|
yamlpriorities = {}
|
||||||
|
priorities = sysconf.get("package-priorities", {})
|
||||||
|
for name in opts.args or priorities:
|
||||||
@@ -26,6 +26,7 @@ SRC_URI = "\
|
|||||||
file://smart-metadata-match.patch \
|
file://smart-metadata-match.patch \
|
||||||
file://smart-improve-error-reporting.patch \
|
file://smart-improve-error-reporting.patch \
|
||||||
file://smart-multilib-fixes.patch \
|
file://smart-multilib-fixes.patch \
|
||||||
|
file://smart-yaml-error.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"
|
SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"
|
||||||
|
|||||||
Reference in New Issue
Block a user