From be460afc1ceec803239c73b2590991d10a2703c7 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 16 Jul 2014 09:15:52 +0200 Subject: [PATCH] Make debug text more compact --- qutebrowser/utils/misc.py | 18 ++++++++++++++++++ qutebrowser/utils/webelem.py | 5 +++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/qutebrowser/utils/misc.py b/qutebrowser/utils/misc.py index 138c58825..735e78bc7 100644 --- a/qutebrowser/utils/misc.py +++ b/qutebrowser/utils/misc.py @@ -49,6 +49,24 @@ def elide(text, length): return text[:length - 1] + '\u2026' +def compact_text(text, elidelength=None): + """Remove leading whitespace and newlines from a text and maybe elide it. + + FIXME: Add tests. + + Args: + text: The text to compact. + elidelength: To how many chars to elide. + """ + out = [] + for line in text.splitlines(): + out.append(line.strip()) + out = ''.join(out) + if elidelength is not None: + out = elide(out, elidelength) + return out + + def read_file(filename): """Get the contents of a file contained with qutebrowser. diff --git a/qutebrowser/utils/webelem.py b/qutebrowser/utils/webelem.py index 3bd2754f7..9f2fc3adb 100644 --- a/qutebrowser/utils/webelem.py +++ b/qutebrowser/utils/webelem.py @@ -31,8 +31,9 @@ from PyQt5.QtCore import QRect, QUrl from PyQt5.QtWebKit import QWebElement import qutebrowser.utils.log as log -from qutebrowser.utils.usertypes import enum import qutebrowser.config.config as config +from qutebrowser.utils.usertypes import enum +from qutebrowser.utils.misc import compact_text Group = enum('all', 'links', 'images', 'editable', 'url', 'prevnext_rel', @@ -250,7 +251,7 @@ def is_editable(elem, strict=False): # pylint: disable=too-many-return-statements roles = ('combobox', 'textbox') log.misc.debug("Checking if element is editable: {}".format( - elem.toOuterXml())) + compact_text(elem.toOuterXml(), 500))) tag = elem.tagName().lower() if is_content_editable(elem) and is_writable(elem): return True