diff mbox series

oe-pkgdata-util: add unescape option to read-value

Message ID 20171004131325.26620-1-ross.burton@intel.com
State Accepted
Commit 4165ec0057c6bbb24de681572034262351d9b34f
Headers show
Series oe-pkgdata-util: add unescape option to read-value | expand

Commit Message

Ross Burton Oct. 4, 2017, 1:13 p.m. UTC
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.burton@intel.com>

---
 scripts/oe-pkgdata-util | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.11.0

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

Patch

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',