class_desc/classes/shortcode_parser.md


Класс ShortCodeParser

Класс ShortCodeParser предназначен для работы с шорткодами (специальными фрагментами текста, обеспечивающими быстрое встраивание дополнительного функционала в документ). Он позволяет определять, обрабатывать и удалять шорткоды, предоставляя гибкий инструмент для автоматической обработки текстовых данных, содержащих такие коды.

Основная информация

  • Имя файла: anb_python_components\classes\shortcode_parser.py
  • Автор: Александр Бабаев
  • Версия: 1.0.0
  • Дата начала поддержки: с версии 1.1

Атрибуты и методы класса

Конструктор (__init__)

Инициализирует экземпляр парсера шорткодов.

Пример использования:

from anb_python_components import ShortCodeParser

parser = ShortCodeParser()

Метод default_set_unset

Стандартный обработчик для задания и снятия шорткодов, возвращающий исходный контент без изменений.

Пример использования:

from anb_python_components import ShortCodeParser, ShortCodeAttributes

parser = ShortCodeParser()

result = parser.default_set_unset("Hello World", ShortCodeAttributes())
print(result)  # Hello World

Метод any_valid

Метод, подтверждающий валидность шорткода при любых обстоятельствах.

Пример использования:

from anb_python_components import ShortCodeAttributes, ShortCodeParser

parser = ShortCodeParser()
validity = parser.any_valid("Some Content", ShortCodeAttributes())
print(validity)  # True

Метод add_short_code

Регистрирует новый шорткод с соответствующими обработчиками.

Параметры:

  • name: str: название шорткода (обязательный).
  • on_set: Callable | None: обработчик включения шорткода. Если значение равно None, то будет применён default_set_unset. По умолчанию, None.
  • on_unset: Callable | None: обработчик отключения шорткода. Если значение равно None, то будет применён default_set_unset. По умолчанию, None.
  • on_validate: Callable | None: обработчик проверки валидности шорткода. Если значение равно None, то будет применён any_valid. По умолчанию, None.

Пример использования:

from anb_python_components import ShortCodeParser

parser = ShortCodeParser()
parser.add_short_code('bold', on_set = lambda content, _: '<b>' + content + '</b>')

Метод add_short_codes

Добавляет сразу несколько шорткодов из списка моделей ShortCodeModel.

Пример использования:

from anb_python_components import ShortCodeParser, ShortCodeModel

parser = ShortCodeParser()
models = [ShortCodeModel('italic'), ShortCodeModel('underline')]
parser.add_short_codes(models)

Метод parse

Производит разбор текста, находит и обрабатывает шорткоды.

Параметры:

  • content: str: исходный текст для обработки. Это обязательный параметр.
  • ignore_included_shortcodes: bool: игнорировать вложенные шорткоды (по умолчанию False).
  • is_unset: bool: режим деактивации шорткодов (по умолчанию False).

Возвращает: str - Преобразованную строку с обработанными шорткодами.

Пример использования:

from anb_python_components import ShortCodeParser

parser = ShortCodeParser()
parser.add_short_code('bold', on_set = lambda content, _: '<b>' + content + '</b>')
output = parser.parse("[bold]Hello[/bold]")
print(output)  # <b>Hello</b>

Заключение

Класс ShortCodeParser — мощный инструмент для работы с динамическими элементами в документах, позволяющий внедрять разнообразный функционал прямо в текст, увеличивая интерактивность и удобство работы с контентом.

На главную