summaryrefslogtreecommitdiff
path: root/htmtl/modifiers/truncate.py
blob: bac2862409be5dc4e57c0074364cc3d493f61721 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from typing import Any

from ..modifier import Modifier, modifier_name


@modifier_name("truncate")
class Truncate(Modifier):
    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