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

Резултати

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

Пребарај: #kigali

当前筛选 #kigali清除筛选
Egountchi Behanzin Officiel

@egountchibehanzinofficiel · Post #8173 · 16.02.2025 г., 11:47

LE RWANDA 🇷🇼 APPARTIENT AU KONGO 🇨🇩 Il faut dire à Paul Kagame et à tous ses propagandistes qui affirment que Goma appartient désormais au Rwanda que c’est plutôt le Rwanda 🇷🇼 qui appartient au Congo 🇨🇩. Cependant, puisque les dirigeants congolais ne connaissent pas l’histoire de leur pays, il est normal qu’ils laissent cette propagande se diffuser sans apporter de réponse claire et nette. #M23#Kivu#Kigali REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM. 🔺Pour les numéros français : https://t.me/egountchibehanzinTV 🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel

Addis Standard

@addisstandardeng · Post #21855 · 27.03.2026 г., 06:01

#Paul_Kagame says ‘Putting things in order is not persecution’ as he defends regulation of religious institutions #Rwandan President Paul Kagame has strongly defended his government’s regulation of religious institutions, arguing that the measures are intended to restore order and protect citizens from financial exploitation rather than target faith. Speaking to thousands of members of the Rwandan Muslim community at BK Arena in #Kigali on Wednesday, 25 March, Kagame addressed the proliferation of unregulated religious entities. In a translated video clip shared on his office’s official X account, he said some individuals misuse religion for personal gain. “You find someone hiding behind a religion, hiding behind a church, setting up something that is only meant to serve their own interests and rob others,” he said. “Everything becomes something anyone can just put ...... https://web.facebook.com/AddisstandardEng/posts/pfbid0HCQDoceiXNH9eJ8XWU1N4i1L3Hy7h1S5WbiiAMWEvbPwiK9xXdNTrokbvLn63kBul

Addis Standard

@addisstandardeng · Post #21636 · 07.03.2026 г., 05:33

#African experts meet in #Rwanda for continental textile standardization African experts have convened in the Rwandan capital #Kigali for the Technical Committee (#TC 53) meeting on the standardization of textiles, textile products, and accessories. The forum, which ran from Tuesday to Friday, focused on finalizing agreements and establishing key standards and labeling systems for the textile sector, with the aim of strengthening trade and supporting economic growth within the continent's textile industry. Hermogene Nsengimana, secretary general of the African Organisation for Standardization (#ARSO), highlighted that Africa still faces a significant gap in developing common quality standards. He added that currently, only about 25 percent of the standards required for all products in the African common market have been established. Nsengimana said that ARSO has set a target to significantly reduce this gap within the...... https://english.news.cn/africa/20260307/6634375ed4a4474cab2c20d0c4a31253/c.html