[hawkmoth] [PATCH 1/8] parser: add parse_to_string to get parse results as string

  • From: Jani Nikula <jani@xxxxxxxxxx>
  • To: hawkmoth@xxxxxxxxxxxxx
  • Date: Thu, 13 Dec 2018 23:11:26 +0200

Prep work for converting tests to python unittest.
---
 hawkmoth/hawkmoth.py | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/hawkmoth/hawkmoth.py b/hawkmoth/hawkmoth.py
index 1aa8b6c74f67..aacb957f2981 100755
--- a/hawkmoth/hawkmoth.py
+++ b/hawkmoth/hawkmoth.py
@@ -349,6 +349,15 @@ def parse(filename, **options):
 
     return result
 
+def parse_to_string(filename, verbose, **options):
+    s=""
+    comments = parse(filename, **options)
+    for (comment, meta) in comments:
+        if verbose:
+            s += ('# ' + str(meta) + '\n')
+        s += comment + "\n"
+    return s
+
 def main():
     parser = argparse.ArgumentParser(description='Hawkmoth.')
     parser.add_argument('file', metavar='FILE', type=str, action='store',
@@ -366,11 +375,9 @@ def main():
 
     filename = args.file
 
-    comments = parse(filename, compat=args.compat, clang=args.clang)
-    for (comment, meta) in comments:
-        if args.verbose:
-            print('# ' + str(meta))
-        print(comment)
+    comments = parse_to_string(filename, args.verbose,
+                               compat=args.compat, clang=args.clang)
+    sys.stdout.write(comments)
 
 if __name__ == '__main__':
     main()
-- 
2.19.2


Other related posts: