Jump to >

reviewboard.reviews.ui.text

class TextBasedReviewUI(review_request, obj)[source]

Bases: reviewboard.reviews.ui.base.FileAttachmentReviewUI

A Review UI for text-based files.

This renders the text file, applying syntax highlighting, and allows users to comment on one or more lines.

name = u'Text'[source]
object_key = u'text'[source]
supported_mimetypes = [u'text/*'][source]
template_name = u'reviews/ui/text.html'[source]
comment_thumbnail_template_name = u'reviews/ui/text_comment_thumbnail.html'[source]
can_render_text = False[source]
supports_diffing = True[source]
source_chunk_generator_cls[source]

alias of reviewboard.diffviewer.chunk_generator.RawDiffChunkGenerator

rendered_chunk_generator_cls[source]

alias of reviewboard.diffviewer.chunk_generator.RawDiffChunkGenerator

extra_css_classes = [][source]
js_model_class = u'RB.TextBasedReviewable'[source]
js_view_class = u'RB.TextBasedReviewableView'[source]
get_js_model_data()[source]
get_extra_context(request)[source]
get_text()[source]

Return the file contents as a string.

This will fetch the file and then cache it for future renders.

get_text_lines()[source]

Return the file contents as syntax-highlighted lines.

This will fetch the file, render it however appropriate for the review UI, and split it into reviewable lines. It will then cache it for future renders.

get_rendered_lines()[source]

Returns the file contents as a render, based on the raw text.

If a subclass sets can_render_text = True and implements generate_render, then this will render the contents in some specialized form, cache it as a list of lines, and return it.

generate_highlighted_text()[source]

Generates syntax-highlighted text for the file.

This will render the text file to HTML, applying any syntax highlighting that’s appropriate. The contents will be split into reviewable lines and will be cached for future renders.

get_source_lexer(filename, data)[source]

Returns the lexer that should be used for the text.

By default, this will attempt to guess the lexer based on the filename, falling back to a plain-text lexer.

Subclasses can override this to choose a more specific lexer.

generate_render()[source]

Generates a render of the text.

By default, this won’t do anything. Subclasses should override it to turn the raw text into some form of rendered content. For example, rendering Markdown.

serialize_comments(comments)[source]

Return a dictionary of the comments for this file attachment.

get_comment_thumbnail(comment)[source]

Generates and returns a thumbnail representing this comment.

This will find the appropriate lines the comment applies to and return it as HTML suited for rendering in reviews.

render_comment_thumbnail(comment, begin_line_num, end_line_num, view_mode)[source]

Renders the content of a comment thumbnail.

This will, by default, call render() and then pull out the lines that were commented on.

Subclasses can override to do more specialized thumbnail rendering.

Returns the URL to the file and line commented on.

This will link to the correct file, view mode, and line for the given comment.