reviewboard.diffviewer.opcode_generator¶
The diff opcode generator.
- class MoveRange(start, end, groups=[])[source]¶
Bases:
object
Stores information on a move range.
This will store the start and end of the range, and all groups that are a part of it.
- class DiffOpcodeGenerator(differ: Differ, diff: Optional[bytes] = None, interdiff: Optional[bytes] = None, request: Optional[HttpRequest] = None, *, diff_settings: Optional[DiffSettings] = None, **kwargs)[source]¶
Bases:
object
The diff opcode generator.
- __init__(differ: Differ, diff: Optional[bytes] = None, interdiff: Optional[bytes] = None, request: Optional[HttpRequest] = None, *, diff_settings: Optional[DiffSettings] = None, **kwargs) None [source]¶
Initialize the opcode generator.
Changed in version 7.0.4: Added the
diff_settings
parameter.Changed in version 3.0.18: Added the
request
and**kwargs
parameters.- Parameters:
differ (
reviewboard.diffviewer.differ.Differ
) – The differ being used to generate the diff.diff (
bytes
, optional) – The raw contents for the diff.interdiff (
bytes
, optional) – The raw contents for the diff on the other end of an interdiff range, if generating an interdiff.request (
django.http.HttpRequest
) – The HTTP request from the client.diff_settings (
reviewboard.diffviewer.settings.DiffSettings
, optional) –The diff settings object.
New in version 7.0.4.
**kwargs (
dict
) – Additional keyword arguments, for future expansion.
- request: Optional[HttpRequest]¶
The HTTP request from the client.
- diff_settings: DiffSettings¶
The diff settings object.
New in version 7.0.4.
- __iter__()[source]¶
Returns opcodes from the differ with extra metadata.
This is a wrapper around a differ’s get_opcodes function, which returns extra metadata along with each range. That metadata includes information on moved blocks of code and whitespace-only lines.
This returns a list of opcodes as tuples in the form of (tag, i1, i2, j1, j2, meta).
- get_diff_opcode_generator_class() type[reviewboard.diffviewer.opcode_generator.DiffOpcodeGenerator] [source]¶
Return the DiffOpcodeGenerator class used for generating opcodes.
- Returns:
The opcode generator class.
- Return type:
- set_diff_opcode_generator_class(renderer: type[reviewboard.diffviewer.opcode_generator.DiffOpcodeGenerator]) None [source]¶
Set the DiffOpcodeGenerator class used for generating opcodes.
- Parameters:
renderer (
type
) – The opcode generator class.
- get_diff_opcode_generator(*args, **kwargs) DiffOpcodeGenerator [source]¶
Return a DiffOpcodeGenerator instance used for generating opcodes.
- Parameters:
- Returns:
The new opcode generator.
- Return type: