From 819e47b69e7bf46edd99db1ee0b67e1d4134c9b0 Mon Sep 17 00:00:00 2001
From: Richard Berger <richard.berger@temple.edu>
Date: Fri, 27 Jul 2018 02:29:10 -0400
Subject: [PATCH] Add output dir and verbose option to txt2rst

---
 doc/Makefile                               |  2 +-
 doc/utils/converters/lammpsdoc/txt2html.py | 12 +++++++++---
 doc/utils/converters/lammpsdoc/txt2rst.py  |  2 ++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/doc/Makefile b/doc/Makefile
index c4bc80e7bd..81f3623499 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -157,7 +157,7 @@ $(RSTDIR)/%.rst : src/%.txt $(TXT2RST)
 	@(\
 		mkdir -p $(RSTDIR) ; \
 		. $(VENV)/bin/activate ;\
-		txt2rst $< > $@ ;\
+		txt2rst -v $< > $@ ;\
 		deactivate ;\
 	)
 
diff --git a/doc/utils/converters/lammpsdoc/txt2html.py b/doc/utils/converters/lammpsdoc/txt2html.py
index 79a75d72f6..ed9f47a4e4 100755
--- a/doc/utils/converters/lammpsdoc/txt2html.py
+++ b/doc/utils/converters/lammpsdoc/txt2html.py
@@ -662,14 +662,15 @@ class TxtConverter:
         parser = self.get_argument_parser()
         parsed_args = parser.parse_args(args)
 
-        write_to_files = len(parsed_args.files) > 1
+        write_to_files = parsed_args.output_dir or (len(parsed_args.files) > 1)
 
         for filename in parsed_args.files:
             if parsed_args.skip_files and filename in parsed_args.skip_files:
                 continue
 
             with open(filename, 'r') as f:
-                print("Converting", filename, "...", file=err)
+                if parsed_args.verbose:
+                    print("Converting", filename, "...", file=err)
                 content = f.read()
                 converter = self.create_converter(parsed_args)
 
@@ -683,7 +684,10 @@ class TxtConverter:
                     result = msg
 
                 if write_to_files:
-                    output_filename = self.get_output_filename(filename)
+                    if parsed_args.output_dir:
+                        output_filename = os.path.join(parsed_args.output_dir, os.path.basename(self.get_output_filename(filename)))
+                    else:
+                        output_filename = self.get_output_filename(filename)
                     with open(output_filename, "w+t") as outfile:
                         outfile.write(result)
                 else:
@@ -698,6 +702,8 @@ class Txt2HtmlConverter(TxtConverter):
                                                                               'HTML file. useful when set of HTML files'
                                                                               ' will be converted to PDF')
         parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append')
+        parser.add_argument('--verbose', '-v', dest='verbose', action='store_true')
+        parser.add_argument('--output-directory', '-o', dest='output_dir')
         parser.add_argument('--generate-title', dest='create_title', action='store_true', help='add HTML head page'
                                                                                                'title based on first '
                                                                                                'h1,h2,h3,h4... element')
diff --git a/doc/utils/converters/lammpsdoc/txt2rst.py b/doc/utils/converters/lammpsdoc/txt2rst.py
index 17d0916157..8119ad3a78 100755
--- a/doc/utils/converters/lammpsdoc/txt2rst.py
+++ b/doc/utils/converters/lammpsdoc/txt2rst.py
@@ -395,6 +395,8 @@ class Txt2RstConverter(TxtConverter):
         parser = argparse.ArgumentParser(description='converts a text file with simple formatting & markup into '
                                                      'Restructured Text for Sphinx.')
         parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append')
+        parser.add_argument('--verbose', '-v', dest='verbose', action='store_true')
+        parser.add_argument('--output-directory', '-o', dest='output_dir')
         parser.add_argument('files',  metavar='file', nargs='+', help='one or more files to convert')
         return parser
 
-- 
GitLab