Some fields are multiline values which have been escaped, so add an option to
unescape the \n and \t.

Signed-off-by: Ross Burton <ross.bur...@intel.com>
---
 scripts/oe-pkgdata-util | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util
index a690870b1c5..c6fba56c89b 100755
--- a/scripts/oe-pkgdata-util
+++ b/scripts/oe-pkgdata-util
@@ -197,6 +197,10 @@ def read_value(args):
                 # PKGSIZE is now in bytes, but we we want it in KB
                 pkgsize = (int(value) + 1024 // 2) // 1024
                 value = "%d" % pkgsize
+            if args.unescape:
+                import codecs
+                # escape_decode() unescapes backslash encodings in byte streams
+                value = codecs.escape_decode(bytes(value, 
"utf-8"))[0].decode("utf-8")
             if args.prefix_name:
                 print('%s %s' % (pkg_name, value))
             else:
@@ -552,6 +556,7 @@ def main():
     parser_read_value.add_argument('pkg', nargs='*', help='Runtime package 
name to look up')
     parser_read_value.add_argument('-f', '--file', help='Read package names 
from the specified file (one per line, first field only)')
     parser_read_value.add_argument('-n', '--prefix-name', help='Prefix output 
with package name', action='store_true')
+    parser_read_value.add_argument('-u', '--unescape', help='Expand escapes 
such as \\n', action='store_true')
     parser_read_value.set_defaults(func=read_value)
 
     parser_glob = subparsers.add_parser('glob',
-- 
2.11.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to