def _visualize(query, keyword, answers, request_options, html=None): # pylint: disable=too-many-locals search_mode = bool(keyword) highlight = not bool(request_options and request_options.get('no-terminal')) color_style = request_options.get('style', '') if color_style not in COLOR_STYLES: color_style = '' found = True # if the page was found in the database editable = False # can generated page be edited on github (only cheat.sheets pages can) result = "" for topic, answer in answers: # pylint: disable=too-many-nested-blocks if topic == 'LIMITED': result += colored.bg('dark_goldenrod') \ + colored.fg('yellow_1') \ + ' ' + answer + ' ' \ + colored.attr('reset') + "\n" break topic_type = get_topic_type(topic) highlight = (highlight and topic not in [":list", ":bash_completion"] and topic_type not in ["unknown"]) found = found and not topic_type == 'unknown' editable = editable or topic_type == "cheat.sheets" if topic_type == "internal" and highlight: answer = _colorize_internal(topic, answer, html) else: answer = _colorize_ansi_answer( topic, answer, color_style, highlight_all=highlight, highlight_code=(topic_type == 'question' and not request_options.get('add_comments') and not request_options.get('remove_text')), unindent_code=request_options.get('unindent_code')) if search_mode: if not highlight: result += "\n[%s]\n" % topic else: result += "\n%s%s %s %s%s\n" % ( colored.bg('dark_gray'), colored.attr("res_underlined"), topic, colored.attr("res_underlined"), colored.attr('reset')) result += answer result = result.strip('\n') + "\n" if search_mode: editable = False repository_button = '' else: repository_button = _github_button(topic_type) if html: result = _render_html(query, result, editable, repository_button, request_options) return result, found
def _visualize(query, keyword, answers, request_options, html=None): # pylint: disable=too-many-locals search_mode = bool(keyword) highlight = not bool(request_options and request_options.get('no-terminal')) color_style = request_options.get('style', '') if color_style not in COLOR_STYLES: color_style = '' found = True # if the page was found in the database editable = False # can generated page be edited on github (only cheat.sheets pages can) result = "" for topic, answer in answers: # pylint: disable=too-many-nested-blocks if topic == 'LIMITED': result += colored.bg('dark_goldenrod') \ + colored.fg('yellow_1') \ + ' ' + answer + ' ' \ + colored.attr('reset') + "\n" break topic_type = get_topic_type(topic) highlight = (highlight and topic not in [":list", ":bash_completion"] and topic_type not in ["unknown"] ) found = found and not topic_type == 'unknown' editable = editable or topic_type == "cheat.sheets" if topic_type == "internal" and highlight: answer = _colorize_internal(topic, answer, html) else: answer = _colorize_ansi_answer( topic, answer, color_style, highlight_all=highlight, highlight_code=(topic_type == 'question' and not request_options.get('add_comments') and not request_options.get('remove_text')), unindent_code=request_options.get('unindent_code') ) if search_mode: if not highlight: result += "\n[%s]\n" % topic else: result += "\n%s%s %s %s%s\n" % (colored.bg('dark_gray'), colored.attr("res_underlined"), topic, colored.attr("res_underlined"), colored.attr('reset')) result += answer result = result.strip('\n') + "\n" if search_mode: editable = False repository_button = '' else: repository_button = _github_button(topic_type) if html: result = _render_html( query, result, editable, repository_button, request_options) return result, found