Jump to >


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 = 'Text'[source]

The display name for the Review UI.

object_key = 'text'[source]

The key passed to the template representing the object.

supported_mimetypes = ['text/*', 'application/x-javascript'][source]
template_name = 'reviews/ui/text.html'[source]

The template that renders the Review UI.

Generally, subclasses should use the default template and render the UI using JavaScript.

comment_thumbnail_template_name = 'reviews/ui/text_comment_thumbnail.html'[source]
can_render_text = False[source]
supports_diffing = True[source]

Whether this Review UI supports diffing two objects.


alias of reviewboard.diffviewer.chunk_generator.RawDiffChunkGenerator


alias of reviewboard.diffviewer.chunk_generator.RawDiffChunkGenerator

extra_css_classes = [][source]
js_model_class = 'RB.TextBasedReviewable'[source]

The name of the JavaScript model class to use for the Review UI.

js_view_class = 'RB.TextBasedReviewableView'[source]

The name of the JavaScript view class to use for the Review UI.


Return model data for the JavaScript AbstractReviewable subclass.

This will return information on the file attachment, its history, and any information on an attachment being diffed against.

Subclasses can override this to return additional data.


The attributes to pass to the model.

Return type



Return extra context to use when rendering the Review UI.


request (django.http.HttpRequest) – The HTTP request from the client.


The context to provide to the template.

Return type



Return the file contents as a string.

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


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.


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.


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.


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.


Return a dictionary of the comments for this file attachment.


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.

__annotations__ = {}