Types
API Reference - Types#
Complete API reference for the wolpie.types module.
safe
#
Classes#
TStr
#
Bases: str
A string subclass that automatically truncates its content to a maximum length when created or modified through
string operations. The TStr class uses the pretty_str function for truncation under the hood.
Example
from wolpie.types import TStr
# or from wolpie import TStr
# Basic creation
s = TStr("hello world", max_chars=10)
print(s) # Output: "hello w..."
print(len(s)) # Output: 10
# String operations maintain TStr type and truncation
s1 = TStr("hello", max_chars=10)
s2 = s1 + " world"
print(type(s2)) # Output: <class 'wolpie.types.safe.TStr'>
print(s2) # Output: "hello w..."
Functions#
pretty_str
#
A function that truncates a string to a maximum number of characters, appending a placeholder if truncation occurs.
Example
from wolpie.types import pretty_str
# or from wolpie import pretty_str
# Basic usage
result = pretty_str("hello world", max_chars=10)
print(result) # Output: "hello w..."
# No truncation needed
result = pretty_str("short", max_chars=10)
print(result) # Output: "short"
# Custom placeholder
result = pretty_str("hello world", max_chars=10, placeholder=">>")
print(result) # Output: "hello wo>>"
# Empty placeholder
result = pretty_str("hello world", max_chars=5, placeholder="")
print(result) # Output: "hello"
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
The string to be truncated. |
required |
max_chars
|
int
|
The maximum number of characters allowed in the output string. |
required |
placeholder
|
str
|
The string to append if truncation occurs. Default is '...'. |
'...'
|
Returns:
| Type | Description |
|---|---|
str
|
The truncated string, if necessary, with the placeholder appended. |
Raises:
| Type | Description |
|---|---|
TypeError
|
If text is not a string. |
ValueError
|
If max_chars is not a positive integer or if placeholder length is greater than or equal to max_chars. |
TypeError
|
If placeholder is not a string. |
ValueError
|
If placeholder length is greater than or equal to max_chars. |