[diffoscope] 03/03: Profile output format generation.
Chris Lamb
chris at chris-lamb.co.uk
Mon Jan 9 17:31:24 CET 2017
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch lamby/profiling
in repository diffoscope.
commit d5b2e2cec0e7528bc313108a8a82cb997b48973d
Author: Chris Lamb <lamby at debian.org>
Date: Fri Dec 23 09:40:09 2016 +0000
Profile output format generation.
Signed-off-by: Chris Lamb <lamby at debian.org>
---
diffoscope/main.py | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/diffoscope/main.py b/diffoscope/main.py
index 7775d46..f10a0b3 100644
--- a/diffoscope/main.py
+++ b/diffoscope/main.py
@@ -35,7 +35,7 @@ from diffoscope.exc import RequiredToolNotFound
from diffoscope.config import Config
from diffoscope.difference import Difference
from diffoscope.progress import ProgressManager, Progress
-from diffoscope.profiling import ProfileManager
+from diffoscope.profiling import ProfileManager, profile
from diffoscope.presenters.html import output_html, output_html_directory, \
JQUERY_SYSTEM_LOCATIONS
from diffoscope.presenters.text import output_text
@@ -256,23 +256,26 @@ def run_diffoscope(parsed_args):
difference = Difference(None, parsed_args.path1, parsed_args.path2)
if difference:
if parsed_args.text_output:
- if not retcode:
- # special case for --text: write an empty file instead of an empty diff
- open(parsed_args.text_output, 'w').close()
- else:
- with make_printer(parsed_args.text_output or '-') as print_func:
- color = {
- 'auto': print_func.output.isatty(),
- 'never': False,
- 'always': True,
- }[parsed_args.text_color]
- output_text(difference, print_func=print_func, color=color)
+ with profile('output', 'text'):
+ if not retcode:
+ # special case for --text: write an empty file instead of an empty diff
+ open(parsed_args.text_output, 'w').close()
+ else:
+ with make_printer(parsed_args.text_output or '-') as print_func:
+ color = {
+ 'auto': print_func.output.isatty(),
+ 'never': False,
+ 'always': True,
+ }[parsed_args.text_color]
+ output_text(difference, print_func=print_func, color=color)
if parsed_args.html_output:
- with make_printer(parsed_args.html_output) as print_func:
- output_html(difference, css_url=parsed_args.css_url, print_func=print_func)
+ with profile('output', 'html'):
+ with make_printer(parsed_args.html_output) as print_func:
+ output_html(difference, css_url=parsed_args.css_url, print_func=print_func)
if parsed_args.html_output_directory:
- output_html_directory(parsed_args.html_output_directory, difference,
- css_url=parsed_args.css_url, jquery_url=parsed_args.jquery_url)
+ with profile('output', 'html_directory'):
+ output_html_directory(parsed_args.html_output_directory, difference,
+ css_url=parsed_args.css_url, jquery_url=parsed_args.jquery_url)
if parsed_args.profile_output:
with make_printer(parsed_args.profile_output) as print_func:
ProfileManager().output(print_func)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git
More information about the diffoscope
mailing list