- class TextBasedReviewUI(review_request, obj)¶
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'¶
The display name for the Review UI.
- object_key = 'text'¶
The key passed to the template representing the object.
- template_name = 'reviews/ui/text.html'¶
The template that renders the Review UI.
- comment_thumbnail_template_name = 'reviews/ui/text_comment_thumbnail.html'¶
- can_render_text = False¶
- supports_diffing = True¶
Whether this Review UI supports diffing two objects.
- extra_css_classes = ¶
- js_model_class = 'RB.TextBasedReviewable'¶
- js_view_class = 'RB.TextBasedReviewableView'¶
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.
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 = Trueand 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)¶
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)¶
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.