bigyo.bigyo_renderer package

Module contents

bigyo.bigyo_renderer

Renderer for Bigyo.

Inherit BigyoRenderer to make your own renderer.

class bigyo.bigyo_renderer.BigyoRenderer(sep='|', mark_unchanged=False)

Bases: ABC

Abstract Base Bigyo rendering strategy.

Bigyo rendering strategy defines how Bigyo generates side by side comparison lines.

Parameters:
  • sep (str) – Separator for separate two compared lines, defaults to “|”

  • mark_unchanged (bool) – Flag to decide Bigyo whether it passes line as-is or mark unchanged line with “ “ indicator, defaultes to False

render(*, left='', right='', left_replace=None, right_replace=None)

Function to actually build comparison lines. DO NOT inherit it; inherit _render instead, which actually renders.

Parameters:
  • left (str) – Left string compared

  • right (str) – Right string compared

  • left_replace (Optional[str]) – Diff line generated by Bigyo for left, defaults to None

  • right_replace (Optional[str]) – Diff line generated by Bigyo for right, defaults to None

Return type:

str

Returns:

Compared line

Raises:

ValueError – When self.maxlen is not set

class bigyo.bigyo_renderer.OnelineBigyoRenderer(sep='|', mark_unchanged=True, add_mark=('<', '>'), delete_mark=('>', '<'), margin=2)

Bases: BigyoRenderer

One-line Bigyo rendering stratgy.

Will produce side-by-side comparison, with difference is displayed in-line with marks.

Mark is changable by __init__ method.

Default mark is (“<”, “>”) for added difference, (“>”, “<”) for removed difference.

So <added difference will be shown like this>, and >removed difference will be shown like this<.

As mark is added, string width can be enlarged unpredictably. Margin is added to solve this problem.

Parameters:
  • sep – Separator for separate two compared lines, defaults to “|”

  • mark_unchanged – Flag to decide Bigyo whether it passes line as-is or mark unchanged line with “ “ indicator, defaultes to True

  • add_mark (tuple[str, str]) – Characters to mark range of added difference, defaultes to (“<”, “>”)

  • delete_mark (tuple[str, str]) – Characters to mark range of removed difference, defaultes to (“>”, “<”)

  • margin (int) – Additional space to deal with enlarged width problem, defaults to 2

class bigyo.bigyo_renderer.SimpleBigyoRenderer(sep='|', mark_unchanged=False)

Bases: BigyoRenderer

Simple Bigyo rendering stratgy.

Will produce side-by-side comparison, with difference is displayed as separated line.

Parameters:
  • sep (str) – Separator for separate two compared lines, defaults to “|”

  • mark_unchanged (bool) – Flag to decide Bigyo whether it passes line as-is or mark unchanged line with “ “ indicator, defaultes to False

class bigyo.bigyo_renderer.VerticalBigyoRenderer(sep='-', mark_unchanged=False)

Bases: BigyoRenderer

Vertical Renderer for narrow screen. Separator will be used for separate lines.

Parameters:
  • sep (str) – Separator for separate two compared lines, defaults to “-”

  • mark_unchanged (bool) – Flag to decide Bigyo whether it passes line as-is or mark unchanged line with “ “ indicator, defaultes to False