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

Резултати

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

Пребарај: #landslide

当前筛选 #landslide清除筛选

በጋሞ ዞን በደረሰው የመሬት ናዳ አደጋ የሟቾች ቁጥር 70 ደረሰ ******************* በደቡብ ኢትዮጵያ ክልል ጋሞ ዞን ደጋማ አካባቢዎች በደረሰው ድንገተኛ የመሬት ናዳ የሟቾች ቁጥር 70 መድረሱን የክልሉ መንግሥት ኮሚኒኬሽን አገልግሎት አስታውቋል። የአገልግሎቱ ኃላፊ አቶ ኃይለማርያም ተስፋዬ ዛሬ በሰጡት ጋዜጣዊ መግለጫ፤ በአራት ወረዳዎች በጣለው ከፍተኛ ዝናብ ምክንያት የደረሰው ጉዳት አሁንም እየተጣራ መሆኑንና ቁጥሩ ከዚህም ሊጨምር እንደሚችል አመልክተዋል። በአደጋው ሳቢያ ከ3,480 በላይ ዜጎች ከቤት ንብረታቸው የተፈናቀሉ ሲሆን፣ በአርባ ምንጭ ከተማ የኩልፎ ወንዝ ሙላትን ጨምሮ 190 ቤቶች ሙሉ በሙሉ ወድመዋል። መንግሥት በአሁኑ ወቅት የሟቾችን አስክሬን የመፈለግና ተጎጂዎችን ከስጋት ቀጠና የማንሳት ሥራ እያከናወነ ይገኛል። ለተጎጂዎች በወረዳ፣ በዞንና በክልል ደረጃ ሰብዓዊ ድጋፍ ማድረግ መጀመሩን የገለጹት ኃላፊው፤ በሀገር ውስጥና በውጭ የሚገኙ ዜጎች እንዲሁም በጎ አድራጎት ድርጅቶች በጋሞ ዞን አደጋ ስጋት ሥራ አመራር ጽሕፈት ቤት የባንክ ሂሳብ ቁጥር 1000321312865 ድጋፍ በማድረግ ከወገኖቻችሁ ጎን እንድትቆሙ በማለት ጥሪ አቅርበዋል። በተመስገን ተስፋዬ #ጋሞ#ኢትዮጵያ#Gamo#Landslide#Ethiopia

የሶማሊያው ፕሬዝዳንት ሀሰን ሼክ መሀሙድ በጋሞ ዞን በደረሰው አደጋ የተሰማቸውን ሀዘን ገለጹ ******************* የሶማሊያ ፕሬዝዳንት ሀሰን ሼክ መሀሙድ በደቡብ ኢትዮጵያ ክልል ጋሞ ዞን በደረሰው የመሬት መንሸራተትና የጎርፍ አደጋ ሕይወታቸውን ላጡና ለተጎዱ ዜጎች የተሰማቸውን ሐዘን ገልጸዋል። ፕሬዝዳንት ሀሰን ሼክ መሀሙድ ለጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ባስተላለፉት የሐዘን መግለጫ መልዕክት፣ለኢትዮጵያ መንግሥትና ሕዝብ ልባዊ መጽናናትን ተመኝተዋል። ፕሬዝዳንቱ በአደጋው ሕይወታቸውን ላጡ ወገኖች ቤተሰቦችና በጉዳቱ ለተጎዱ ወገኖች ሁሉ ያላቸውን ጥልቅ ስሜትና አጋርነት ገልጸዋል። ሶማሊያ በዚህ አስቸጋሪ ወቅት ከኢትዮጵያ መንግሥትና ሕዝብ ጎን በጽናት እንደምትቆምም ፕሬዝዳንት ሀሰን ሼክ መሀሙድ አረጋግጠዋል። #EthiopianBroadcastingCorporation#Ethiopia#Somalia#Solidarity#Landslide

Borkena

@borkena · Post #5972 · 10.03.2026 г., 19:36

በጋሞ ዞን ከ30 በላይ ሰዎች ህይወታቸው አለፈ የጋሞ ዞን አስተዳደር በተለያዩ አካባቢዎች በጣለው ከባድ ዝናብ ምክንያት፣ በተለይም በደጋማ አካባቢዎች በተከሰተ የናዳና የጎርፍ አደጋ የ30 ወገኖቻችን ህይወት በማለፉ የዞኑ አስተዳደር የተሰማውን መሪር ሀዘን ገልጿል። ​በደረሰው ድንገተኛ አደጋ ህይወታቸውን ባጡ ወገኖቻችን የተሰማውን ጥልቅ ሀዘን የገለጸው ዞኑ፤ ለአደጋው ሰለባ ቤተሰቦች፣ ወዳጅ ዘመዶችና ለመላው የዞኑ ህዝብ መጽናናትን ተመኝቷል። ​አስተዳደሩ በአሁኑ ወቅት በአደጋው የተጎዱ ወገኖችን ለመርዳትና ተጨማሪ ጉዳት እንዳይደርስ አስፈላጊውን ክትትልና ድጋፍ እያደረገ የሚገኝ ሲሆን፤ ህዝባችንም መሰል ተፈጥሯዊ አደጋዎች ከመከሰታቸው በፊት አስፈላጊውን ጥንቃቄ እንዲያደርግ መልዕክቱን አስተላልፏል። #Ethiopia#Gamo#landslide#ዜና#ኢትዮጵያ#ቦርከና_ዜና

#Russia#Landslide#Dagestan#NaturalDisaster#ClimateAnomalies#climate#destruction#anomaly#climatecrisis#weather 🇷🇺Россия: Гигантский оползень длиной в несколько километров обрушился на Дагестан 🚨16 апреля 2026 года в горном селе Нижние Убекимахи Левашинского района Дагестана произошел массивный оползень. 🌊 Огромная масса камней и земли, протянувшаяся на несколько километров, обрушилась со склона горы и частично перекрыла местную реку Нахер. Тонны почвы и камней скатились в русло реки, создав серьезную угрозу локальных наводнений в нижележащих районах. В настоящее время под угрозой находятся до семи домов. ☔ Катастрофа была вызвана длительными сильными дождями, которые идут в регионе с конца марта. ✅ К счастью, по предварительным данным, пострадавших и погибших нет. 🌧️ Весенние дожди продолжают создавать серьезные проблемы в горных районах Дагестана.