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

Резултати

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

Пребарај: #nazism

当前筛选 #nazism清除筛选
Lakonsky

@lakonsky · Post #1270 · 22.05.2023 г., 06:08

#naZism Ничего необычного, просто в ЧелябинZке нацисты кошмарят местное население, но НАЗИЦМНАУКРАИНЕ НАЗИЦМНАУКРАИНЕ НАЗИЦМНАУКРАИНЕ

Hashtags

Lakonsky

@lakonsky · Post #1476 · 18.09.2023 г., 20:05

#naZism #наZизм В то время как Украинцы 24 февраля 2022 голыми руками останавливали танки руZZонацистского оккупанта, роZZияне слёзно говорили: "а что мы можем сделать?", а потом слёзно вопрошали, цитирую: "не понимаем, за что нас, русских, с которыми бог, таких пресвятейших, чистых, белых людей, так ненавидят хохлы, узкоглазые, хачи, чурки, жиды, пендосы, пшеки, макаронники, лягушатники, немчура и прочая вот эта вот вся русофобская гейропа?"

Lakonsky

@lakonsky · Post #1474 · 17.09.2023 г., 15:11

#naZism #наZизм роZZия. Тюмень. 17 сентября 2023 год Главное помнить: НАЗИЗМНАУКРАИНЕ НАЗИЗМНАУКРАИНЕ НАЗИЗМНАУКРАИНЕ

Lakonsky

@lakonsky · Post #1443 · 08.09.2023 г., 03:40

#naZism #наZизм на роZZии, которая прикрываясь некой "денацификацией" вторглась в Украину с целью геноцида украинского народа, нацисты побили нациста, подумав, что он антинацист. Такой вот фсёфейкмонтажифотошопЪ))

Lakonsky

@lakonsky · Post #1259 · 16.05.2023 г., 08:05

#naZism #наZизм главное, руZZке, присвятейший, чистейший, 47-хромосомный, ортодоксальный ZлаVянин, помни: НАЦИЗМНАУКРАИНЕ НАЦИЗМНАУКРАИНЕ НАЦИЗМНАУКРАИНЕ

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40005 · 03.11.2025 г., 14:01

During WWII German Coca‑Cola bottlers, operating under Nazi rule and cut off from U.S. syrup, made Fanta from leftovers (apple fibers, whey, sugar beet). Named from “Fantasie,” production stopped after the war but Fanta was reintroduced as an orange soda in Naples in 1955. Now Fanta has 200+ flavors. @googlefactss#history#fanta#Germany#WWII [Learn more here] @googlefactss#history#fanta#Germany#nazism

VoxNR

@chbouchet · Post #4085 · 26.02.2026 г., 07:10

The Stern Gang: Ideology, Politics and Terror, 1940–1949 by Joseph Heller This study of Lehi (aka the Stern Gang) attempts to demythologize the image of this extremist, Zionist underground group. The book analyzes the party's split from the Irgun Zvai Leumi (National Military Organization) and its attempts to synthesize the politics and ideals of the right and left. Lehi's leader Stern stated that he incorporated elements of both the left and the right. #Zionism#NationalBolshevism#Fascism#Nazism#Palestine