TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django

Резултати

Пронајдени 1 слични објави

Пребарај: #saintsulpice

当前筛选 #saintsulpice清除筛选
PiaNinoNotovna

@ninonotovna · Post #166 · 23.04.2025 г., 02:19

#Paris #SaintSulpice #Orgue #Tchaikovsky Парижские зарисовки №4 Place Saint-Sulpice Площадь и Храм Сан-Сюльпис Церковь Сан-Сюльпис - это ещё одно знаковое место для русской Музыкальной культуры в Париже. Именно здесь французский композитор ШАРЛЬ ВИДОР (1844-1937) передал своему близкому другу Петру Ильичу ЧАЙКОВСКОМУ проект будущего Органа Большого Зала Московской консерватории. Он был органистом этой Церкви. (В ней находится четвёртый по значению и величине орган Франции, созданный в конце 18 века мастером ФРАНСУА-АНРИ КЛИКО и реконструированный в конце 19 века АРИСТИДОМ КАВАЙЕ-КОЛЛЬ). В тот момент в Москве не было ещё ни самого Большого зала консерватории, ни этого органа. Чайковский, как известно, до открытия Большого зала в 1901 году не дожил. Но все, что мог, для его открытия сделал. Видор же выступил на концерте-открытии и тем самым не только был первым, кто показал этот Великий орган широкой публике, но и исполнил волю своего друга. Орган Большого зала Московской консерватории был создан главой знаменитой франко-испанской семьи потомственных органостроителей АРИСТИДОМ КАВАЙЕ-КОЛЬ в 1899 году по заказу барона СЕРГЕЯ ФОН ДЕРВИЗА. Вначале он был показан на Всемирной выставке в Париже, где получил Золотую медаль, а в 1901 году его установили у нас. Он по сей день является одним из величайших органов мира. Так случилось, что и мне пришлось принять самое непосредственное участие в проекте его недавней реставрации. О Большом Зале и немного об этом органе Вы можете почитать здесь: https://www.mosconsv.ru/museum/bzk.html А на днях, в Московской Консерватории состоится органный концерт, посвящённый Юбилею Шарля Видора: «Шарль-Мари Видор и его ученики». Среди учеников его, кстати, были также очень крупные композиторы: Артюр Онеггер и Марсель Дюпре. Исполнитель - замечательный органист АЛЕКСЕЙ ШМИТОВ. http://www.mosconsv.ru/ru/concert/192933 Так что все не случайно:) ######## Площадь Стравинского и выставка Сюзанны ВАЛАДОН в Центре Жоржа Помпиду в Париже Недалеко от площади Шатле находится знаменитый музей современного искусства, построенный при президенте Жорже Помпиду, который парижане ласково называют “Бобуром” (Beaubourg) . В ней сейчас проходит выставка СЮЗАННЫ ВАЛАДОН (1865-1938) знаменитой натурщицы и любовницы многих Великих художников и музыкантов, которую на самом деле звали вовсе не Сюзанной, а Мари-Клементин Валад. Имена прекрасных натурщиц, возлюбленных и жён художников мы хорошо знаем. Вспомним хотя бы спутниц Пабло ПИКАССО (Ольга Хохлова, Дора Маар…), Сальвадора ДАЛИ (Гала она же Елена Дьяконова), МОДИЛЬЯНИ (Анна Ахматова, Жанна Эбютерн). НО НИ ОДНА ИЗ НИХ, за исключением Ахматовой, пожалуй, НЕ ЯВЛЯЛАСЬ ВЕЛИКИМ ТВОРЦОМ. Сюзанна ВАЛАДОН, безусловно, Великий художник, что стало ясно именно благодаря этой выставке. Выбившаяся из крайних низов, дочь парижской проститутки, с ранней юности зарабатывавшая на хлеб натурщицей всех или почти всех - Пьера-Огюста РЕНУАРА, Анри ТУЛУЗ-ЛОТРЕКА, Эдгара ДЕГА - она стала сначала МУЗОЙ, а потом ХУДОЖНИКОМ и даже матерью Художника - Мориса УТРИЛЛО. Но особое место в ее жизни занимала музыка- ее всю свою жизнь любил композитор Эрик САТИ (1966-1925), она же нарисовала самый известный его портрет. ЭРИК САТИ был профессиональным нищим - ходил всю жизнь в одном вельветовом костюме - это был его фирменный стиль. После смерти в его каморке их обнаружили сразу несколько штук. Он был эпатажным - постоянно дрался и даде судился с критиками своего творчества. Он был очень ранимым и совершенно гениальным. Его не признали при жизни и так и не поняли после смерти (обычно дело, как выясняется). Его последователями и друзьями были Клод ДЕБЮССИ, а также все композиторы так называемой французской «Шестерки», которую он же вместе с литератором Жаном КОКТО возглавлял и вдохновлял: Артюр Онеггер, Дариус Мийо, Жермен Тайфер, Франсис Пуленк, Жорж Орик, Луи Дерей. Прямо за Центром Жоржа Помпиду находится и ПЛОЩАДЬ ИГОРЯ СТРАВИНСКОГО со знаменитым фонтаном, созданным потрясающий французской художницей НИКИ ДЕ САН-ФАЛЛЬ (1930-2002). Стравинский почитаем во Франции чрезвычайно.