2025-etpgrf/main.py

82 lines
5.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import etpgrf
import logging
if __name__ == '__main__':
# --- Пример использования ---
print("\n--- Пример использования класса---\n")
# меняем настройки логирования
etpgrf.defaults.etpgrf_settings.logging_settings.LEVEL = logging.INFO
etpgrf.logger.update_etpgrf_log_level_from_settings() # Обновляем уровень логирования из настроек
# Меняем настройки по умолчанию для переносов
etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 8
# Определяем пользовательские правила переносов
hyphen_settings = etpgrf.Hyphenator(langs='ru', max_unhyphenated_len=8)
# Проверяем переносы в словах
result = hyphen_settings.hyp_in_text("Бармалейщина")
print(result, "\n\n")
# Проверяем переносы в словах, но "подсовываем" текст с пробелами
result = hyphen_settings.hyp_in_word("Длинношеевый жираф")
print(result, "\n\n")
# Проверяем переносы в английских словах
hyphen_settings2 = etpgrf.Hyphenator(langs='en', max_unhyphenated_len=8)
result = hyphen_settings2.hyp_in_text("floccinaucinihilipilification")
print(result, "\n\n")
# Определяем пользовательские правила типографа
typo_ru = etpgrf.Typographer(langs='ru', mode='mixed', hyphenation=hyphen_settings)
result = typo_ru.process(text="Какой-то длинный текст для проверки переносов. Перпердикюляция!")
print(result, "\n\n")
# Проверяем переносы в смешанном тексте (русский + английский)
typo_ru_en = etpgrf.Typographer(langs='ru-en', mode='mixed', hyphenation=True)
result = typo_ru_en.process(text="Расприветище, floccinaucinihilipilification. Это <i>тестовый текст для проверки расстановки</i> переносов"
" в словах. Миллион 100-метровошеих жирножирафов.")
print(result, "\n\n")
# меняем настройки логирования
etpgrf.defaults.etpgrf_settings.logging_settings.LEVEL = logging.DEBUG
etpgrf.logger.update_etpgrf_log_level_from_settings() # Обновляем уровень логирования из настроек
etpgrf.defaults.etpgrf_settings.logging_settings.FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
etpgrf.logger.update_etpgrf_log_format_from_settings() # Обновляем формат логирования из настроек
# Меняем настройки по умолчанию для переносов
etpgrf.defaults.etpgrf_settings.LANGS = "ru"
etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 8
txt = ("В самом сердце Санкт-Петербурга — там, где старинные фасады спорят с неоном вывесок — мелькнуло"
" пятно алого. Это было пальто от КейтБлаш, сшитое на заказ для перформанс-художницы Серафимы-Лукреции"
" Д’Анжу-Палладиновой.\n"
"\n"
"— Что-то среднее между коконом и пламенем, — прошептала девушка в очках-авиаторах, снимая его"
" на свой смартфон.\n"
"\n"
"Пальто (а точнее — то самое, из осенне-зимней коллекции 2025) мгновенно стало мемом. В блогах"
" писали: «Серафима Лу ваяет мрачные киберпанк-инсталляций в стиле милитари, а в жизни обычная"
" модница». На спине — вышивка шёлком в стиле Энди Уорхола -- \"пингвин парящий в закатном море\".\n"
"\n"
"Вдруг — бац! — порыв ветра раскрыл полы, обнажив подклад-трансформер: «днём — офис, вечером — клуб».")
result = typo_ru.process(text=txt)
print(result, "\n-----\n\n-----")
# Проверяем переносы в смешанном тексте (русский + английский)
typo_en = etpgrf.Typographer(langs='en', mode='mixed', hyphenation=True)
etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 6
txt = ("As the sun set—casting long shadows across the meadow—a remarkably sophisticated individual pondered"
" lifes complexities. \"Is it possible,\" they wondered aloud, \"that such an inconsequential event"
" could hold deeper meaning?\n"
"\n"
"Their notebook (a leather-bound relic from 1923) contained hastily scribbled observations:"
" \"Interdisciplinary collaboration requires mutual understanding—not just technical expertise.\""
" Nearby, an unfinished cup of coffee sat atop a stack of papers titled \"The Phenomenology of"
" Subjective Experience in Modern Literature.\n"
"\n"
"Suddenly, a deafening noise—like thunder, yet mechanical—echoed in the distance."
" \"What on Earth…?\" they muttered, peering through binoculars. Was it an airplane?"
" A construction vehicle? Or something entirely different?")
result = typo_en.process(text=txt)
print(result, "\n\n")