From: Lingchao Xin Date: Wed, 18 Dec 2013 03:33:28 +0000 (+0800) Subject: Add diff_to_dist into snap-diff tool X-Git-Tag: submit/devel/20190730.075508~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6375bd11924fdd3fd652e9987f0ffc0305f6ff9d;p=services%2Fpython-snapdiff.git Add diff_to_dist into snap-diff tool Change-Id: I50da5e4e72fa343ea623274f1fe68ae343888187 --- diff --git a/snapdiff/__init__.py b/snapdiff/__init__.py index 56367af..84b1c04 100644 --- a/snapdiff/__init__.py +++ b/snapdiff/__init__.py @@ -181,11 +181,11 @@ def diff_to_HTML(old_url, new_url, style='repo'): return output_html('diff.html', **context) -def diff_to_dist(old_url, new_url, dist_path): +def diff_to_dist(old_url, new_url, dist_path, style='repo'): """create a dist-dir of diffs, contains html and css""" static_dir = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'static') - output_html = diff_to_HTML(old_url, new_url) + output_html = diff_to_HTML(old_url, new_url, style) if not os.path.exists(dist_path): os.makedirs(dist_path) diff --git a/tools/snap-diff b/tools/snap-diff index cbd82ad..a5f4c0b 100755 --- a/tools/snap-diff +++ b/tools/snap-diff @@ -12,13 +12,21 @@ def main(argv): parser.add_argument(dest='old', help='old repo') parser.add_argument(dest='new', help='new repo') parser.add_argument('--json', help='output json diffs', action='store_true') - parser.add_argument('-t', dest='type', help="which diff you want(repo | image, default is repo)") + group = parser.add_mutually_exclusive_group() + group.add_argument('-t', dest='type', default='repo', help="which diff you want(repo | image, default is repo)") + group.add_argument('-d', dest='directory', help="Output html diffs into the directory") args = parser.parse_args(argv) - if args.json: - print snapdiff.diff_to_JSON(args.old, args.new, style=args.type or 'repo') + if args.directory: + snapdiff.diff_to_dist(args.old, args.new, args.directory, style=args.type or 'repo') + print "Diff between '%s' and '%s' has been ready in %s" % (args.old, args.new, args.directory) + elif args.json: + print snapdiff.diff_to_JSON(args.old, args.new, style=args.type) else: - print snapdiff.diff_to_HTML(args.old, args.new, style=args.type or 'repo') + print snapdiff.diff_to_HTML(args.old, args.new, style=args.type) if __name__ == '__main__': - sys.exit(main(sys.argv[1:])) + try: + sys.exit(main(sys.argv[1:])) + except KeyboardInterrupt: + pass