SHA256
1
0
forked from pool/salt
salt/0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch
Klaus Kämpf 6fe4934941 - Update to v2016.3.0
see https://docs.saltstack.com/en/latest/topics/releases/2016.3.0.html
  * backwards-incompatible changes:
    - The default path for the extension_modules master config option
      has been changed. 
- add 0014-Fix-crashing-Maintenence-process.patch
  see release notes

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=71
2016-06-15 11:46:27 +00:00

50 lines
2.6 KiB
Diff

From 6ac3c2757bee8757e4a1e82c6472001584107bef Mon Sep 17 00:00:00 2001
From: Bo Maryniuk <bo@suse.de>
Date: Mon, 18 Jan 2016 16:28:48 +0100
Subject: [PATCH 03/13] Check if byte strings are properly encoded in UTF-8
Rename keywords arguments variable to a default name.
---
salt/modules/zypper.py | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/salt/modules/zypper.py b/salt/modules/zypper.py
index 9276ddfa61d2..13afd5afff9e 100644
--- a/salt/modules/zypper.py
+++ b/salt/modules/zypper.py
@@ -329,9 +329,9 @@ def info_installed(*names, **kwargs):
summary, description.
:param errors:
- Handle RPM field errors (true|false). By default, various mistakes in the textual fields are simply ignored and
- omitted from the data. Otherwise a field with a mistake is not returned, instead a 'N/A (bad UTF-8)'
- (not available, broken) text is returned.
+ Handle RPM field errors. If 'ignore' is chosen, then various mistakes are simply ignored and omitted
+ from the texts or strings. If 'report' is chonen, then a field with a mistake is not returned, instead
+ a 'N/A (broken)' (not available, broken) text is placed.
Valid attributes are:
ignore, report
@@ -344,7 +344,8 @@ def info_installed(*names, **kwargs):
salt '*' pkg.info_installed <package1> <package2> <package3> ...
salt '*' pkg.info_installed <package1> attr=version,vendor
salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor
- salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=true
+ salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=ignore
+ salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=report
'''
ret = dict()
for pkg_name, pkg_nfo in __salt__['lowpkg.info'](*names, **kwargs).items():
@@ -355,7 +356,7 @@ def info_installed(*names, **kwargs):
# Check, if string is encoded in a proper UTF-8
value_ = value.decode('UTF-8', 'ignore').encode('UTF-8', 'ignore')
if value != value_:
- value = kwargs.get('errors') and value_ or 'N/A (invalid UTF-8)'
+ value = kwargs.get('errors', 'ignore') == 'ignore' and value_ or 'N/A (invalid UTF-8)'
log.error('Package {0} has bad UTF-8 code in {1}: {2}'.format(pkg_name, key, value))
if key == 'source_rpm':
t_nfo['source'] = value
--
2.8.3