[Reproducible-commits] [debbindiff] 09/09: Add a proper command line interface

Jérémy Bobbio lunar at moszumanska.debian.org
Tue Sep 30 15:10:11 UTC 2014


This is an automated email from the git hooks/post-receive script.

lunar pushed a commit to branch master
in repository debbindiff.

commit 9f2e0c6f898e6f180bc6b2141a3d3abae0ec8aef
Author: Jérémy Bobbio <lunar at debian.org>
Date:   Tue Sep 30 17:09:54 2014 +0200

    Add a proper command line interface
---
 debbindiff.py          | 26 +++++++++++++++++++++-----
 debbindiff/__init__.py |  3 ++-
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/debbindiff.py b/debbindiff.py
index 42abe9d..03a6708 100755
--- a/debbindiff.py
+++ b/debbindiff.py
@@ -20,16 +20,32 @@
 
 from __future__ import print_function
 
+import argparse
+import logging
 import sys
+from debbindiff import logger
 import debbindiff.comparators
 from debbindiff.presenters.html import output_html
 
+def create_parser():
+    parser = argparse.ArgumentParser(description='Highlight differences between two builds of Debian packages')
+    parser.add_argument('--debug', dest='debug', action='store_true', default=False)
+    parser.add_argument('--html', metavar='output', dest='html_output', type=argparse.FileType('w'))
+    parser.add_argument('file1', help='first file to compare')
+    parser.add_argument('file2', help='second file to compare')
+    return parser
+
 def main():
-    if len(sys.argv) != 3:
-        print("Usage: %s FILE1 FILE2")
-        sys.exit(2)
-    differences = debbindiff.comparators.compare_files(sys.argv[1], sys.argv[2])
-    output_html(differences)
+    parser = create_parser()
+    parsed_args = parser.parse_args(sys.argv[1:])
+    if parsed_args.debug:
+        logger.setLevel(logging.DEBUG)
+    differences = debbindiff.comparators.compare_files(parsed_args.file1, parsed_args.file2)
+    if parsed_args.html_output:
+        def print_func(*args, **kwargs):
+            kwargs['file'] = parsed_args.html_output
+            print(*args, **kwargs)
+        output_html(differences, print_func=print_func)
     if len(differences) > 0:
         sys.exit(1)
 
diff --git a/debbindiff/__init__.py b/debbindiff/__init__.py
index 444594e..2adb128 100644
--- a/debbindiff/__init__.py
+++ b/debbindiff/__init__.py
@@ -16,10 +16,11 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with debbindiff.  If not, see <http://www.gnu.org/licenses/>.
+
 import logging
 
 logger = logging.getLogger("debbindiff")
-logger.setLevel(logging.DEBUG)
+logger.setLevel(logging.WARNING)
 ch = logging.StreamHandler()
 ch.setLevel(logging.DEBUG)
 logger.addHandler(ch)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/debbindiff.git



More information about the Reproducible-commits mailing list