blob: 41a1bdbc947fc6b4346e0491b8f6fe6762b4d8bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
from typing import Any
from ..expression_modifier import ExpressionModifier, modifier
@modifier("truncate")
class Truncate(ExpressionModifier):
def modify(self, value: Any, opts: list[Any]) -> Any:
if isinstance(value, str) and len(opts) > 0:
if all([x in "1234567890" for x in opts[0]]):
char_limit = int(opts[0])
if len(value) > char_limit:
return f"{value[:char_limit - 3]}..."
return value
|