[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