A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://rich.readthedocs.io/en/latest/reference/segment.html below:

Website Navigation


rich.segment — Rich 14.0.0 documentation

rich.segment
class rich.segment.ControlType(*values)[source]

Non-printable control codes which typically translate to ANSI codes.

class rich.segment.Segment(text, style=None, control=None)[source]

A piece of text with associated style. Segments are produced by the Console render process and are ultimately converted in to strings to be written to the terminal.

Parameters:
  • text (str) – A piece of text.

  • style (Style, optional) – An optional style to apply to the text.

  • control (Tuple[ControlCode], optional) – Optional sequence of control codes.

cell_length

The cell length of this Segment.

Type:

int

classmethod adjust_line_length(line, length, style=None, pad=True)[source]

Adjust a line to a given width (cropping or padding as required).

Parameters:
  • segments (Iterable[Segment]) – A list of segments in a single line.

  • length (int) – The desired width of the line.

  • style (Style, optional) – The style of padding if used (space on the end). Defaults to None.

  • pad (bool, optional) – Pad lines with spaces if they are shorter than length. Defaults to True.

  • line (List[Segment])

Returns:

A line of segments with the desired length.

Return type:

List[Segment]

classmethod align_bottom(lines, width, height, style, new_lines=False)[source]

Aligns render to bottom (adds extra lines above as required).

Args:

lines (List[List[Segment]]): A list of lines. width (int): Desired width. height (int, optional): Desired height or None for no change. style (Style): Style of any padding added. Defaults to None. new_lines (bool, optional): Padded lines should include “

“. Defaults to False.

Returns:

List[List[Segment]]: New list of lines.

Parameters:
Return type:

List[List[Segment]]

classmethod align_middle(lines, width, height, style, new_lines=False)[source]

Aligns lines to middle (adds extra lines to above and below as required).

Args:

lines (List[List[Segment]]): A list of lines. width (int): Desired width. height (int, optional): Desired height or None for no change. style (Style): Style of any padding added. new_lines (bool, optional): Padded lines should include “

“. Defaults to False.

Returns:

List[List[Segment]]: New list of lines.

Parameters:
Return type:

List[List[Segment]]

classmethod align_top(lines, width, height, style, new_lines=False)[source]

Aligns lines to top (adds extra lines to bottom as required).

Args:

lines (List[List[Segment]]): A list of lines. width (int): Desired width. height (int, optional): Desired height or None for no change. style (Style): Style of any padding added. new_lines (bool, optional): Padded lines should include “

“. Defaults to False.

Returns:

List[List[Segment]]: New list of lines.

Parameters:
Return type:

List[List[Segment]]

classmethod apply_style(segments, style=None, post_style=None)[source]

Apply style(s) to an iterable of segments.

Returns an iterable of segments where the style is replaced by style + segment.style + post_style.

Parameters:
  • segments (Iterable[Segment]) – Segments to process.

  • style (Style, optional) – Base style. Defaults to None.

  • post_style (Style, optional) – Style to apply on top of segment style. Defaults to None.

Returns:

A new iterable of segments (possibly the same iterable).

Return type:

Iterable[Segments]

property cell_length: int

The number of terminal cells required to display self.text.

Returns:

A number of cells.

Return type:

int

control: Sequence[Tuple[ControlType] | Tuple[ControlType, int | str] | Tuple[ControlType, int, int]] | None

Alias for field number 2

classmethod divide(segments, cuts)[source]

Divides an iterable of segments in to portions.

Parameters:
Yields:

[Iterable[List[Segment]]] – An iterable of Segments in List.

Return type:

Iterable[List[Segment]]

classmethod filter_control(segments, is_control=False)[source]

Filter segments by is_control attribute.

Parameters:
  • segments (Iterable[Segment]) – An iterable of Segment instances.

  • is_control (bool, optional) – is_control flag to match in search.

Returns:

And iterable of Segment instances.

Return type:

Iterable[Segment]

classmethod get_line_length(line)[source]

Get the length of list of segments.

Parameters:

line (List[Segment]) – A line encoded as a list of Segments (assumes no ‘\n’ characters),

Returns:

The length of the line.

Return type:

int

classmethod get_shape(lines)[source]

Get the shape (enclosing rectangle) of a list of lines.

Parameters:

lines (List[List[Segment]]) – A list of lines (no ‘\n’ characters).

Returns:

Width and height in characters.

Return type:

Tuple[int, int]

property is_control: bool

Check if the segment contains control codes.

classmethod line()[source]

Make a new line segment.

Return type:

Segment

classmethod remove_color(segments)[source]

Remove all color from an iterable of segments.

Parameters:

segments (Iterable[Segment]) – An iterable segments.

Yields:

Segment – Segments with colorless style.

Return type:

Iterable[Segment]

classmethod set_shape(lines, width, height=None, style=None, new_lines=False)[source]

Set the shape of a list of lines (enclosing rectangle).

Args:

lines (List[List[Segment]]): A list of lines. width (int): Desired width. height (int, optional): Desired height or None for no change. style (Style, optional): Style of any padding added. new_lines (bool, optional): Padded lines should include “

“. Defaults to False.

Returns:

List[List[Segment]]: New list of lines.

Parameters:
Return type:

List[List[Segment]]

classmethod simplify(segments)[source]

Simplify an iterable of segments by combining contiguous segments with the same style.

Parameters:

segments (Iterable[Segment]) – An iterable of segments.

Returns:

A possibly smaller iterable of segments that will render the same way.

Return type:

Iterable[Segment]

classmethod split_and_crop_lines(segments, length, style=None, pad=True, include_new_lines=True)[source]

Split segments in to lines, and crop lines greater than a given length.

Parameters:
  • segments (Iterable[Segment]) – An iterable of segments, probably generated from console.render.

  • length (int) – Desired line length.

  • style (Style, optional) – Style to use for any padding.

  • pad (bool) – Enable padding of lines that are less than length.

  • include_new_lines (bool)

Returns:

An iterable of lines of segments.

Return type:

Iterable[List[Segment]]

split_cells(cut)[source]

Split segment in to two segments at the specified column.

If the cut point falls in the middle of a 2-cell wide character then it is replaced by two spaces, to preserve the display width of the parent segment.

Parameters:

cut (int) – Offset within the segment to cut.

Returns:

Two segments.

Return type:

Tuple[Segment, Segment]

classmethod split_lines(segments)[source]

Split a sequence of segments in to a list of lines.

Parameters:

segments (Iterable[Segment]) – Segments potentially containing line feeds.

Yields:

Iterable[List[Segment]] – Iterable of segment lists, one per line.

Return type:

Iterable[List[Segment]]

classmethod strip_links(segments)[source]

Remove all links from an iterable of styles.

Parameters:

segments (Iterable[Segment]) – An iterable segments.

Yields:

Segment – Segments with link removed.

Return type:

Iterable[Segment]

classmethod strip_styles(segments)[source]

Remove all styles from an iterable of segments.

Parameters:

segments (Iterable[Segment]) – An iterable segments.

Yields:

Segment – Segments with styles replace with None

Return type:

Iterable[Segment]

style: Style | None

Alias for field number 1

text: str

Alias for field number 0

class rich.segment.Segments(segments, new_lines=False)[source]

A simple renderable to render an iterable of segments. This class may be useful if you want to print segments outside of a __rich_console__ method.

Parameters:
  • segments (Iterable[Segment]) – An iterable of segments.

  • new_lines (bool, optional) – Add new lines between segments. Defaults to False.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4