Source code for purrfectmeow.tc02_mlt.separate

from __future__ import annotations

import time

from purrfectmeow.meow.kitty import kitty_logger


[docs] class SeparateSplit: _logger = kitty_logger(__name__)
[docs] @classmethod def splitter(cls, chunk_separator: str) -> CharacterSeparator: cls._logger.debug("Initializing separate splitter") start = time.time() try: splitter = cls.CharacterSeparator(chunk_separator) cls._logger.debug("Separator splitter successfully initialized.") return splitter except Exception as e: cls._logger.exception(f"Failed to initialize separate splitter: {e}") raise finally: elapsed = time.time() - start cls._logger.debug(f"Separate splitting completed in {elapsed:.2f} seconds.")
[docs] class CharacterSeparator: def __init__(self, separator: str): self.separator = separator
[docs] def split_text(self, text: str) -> list[str]: chunks = [chunk + self.separator for chunk in text.split(self.separator)] chunks[-1] = chunks[-1].rstrip(self.separator) return chunks