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

Резултати

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

Пребарај: #flooding

当前筛选 #flooding清除筛选
Venezuelanalysis

@venanalysis · Post #2015 · 27.06.2025 г., 20:54

📰 NEWS | Venezuela Deploys Nationwide Task Force After Heavy Rains Cut Off Thousands and Damage Road Infrastructure Torrential rains have caused widespread flooding and landslides in the states of Mérida, Trujillo, Barinas, Portuguesa, and Táchira. The intense weather has cut off thousands of families and severely damaged road infrastructure. In response, President Nicolás Maduro activated a nationwide task force involving the armed forces, local governments, and communal organizations. Authorities reported 25 collapsed bridges—16 completely destroyed—and 370 affected homes, with a third totally lost. 🔗 Read the full report here: https://shorturl.at/oP4bE #DisasterAid#Flooding

Amazing Geography 🌍

@amazingeo · Post #649 · 27.02.2026 г., 20:31

🌍 Rapid melting of glaciers is raising global sea levels faster than expected, contributing to increased flooding risks in coastal cities and threatening freshwater supplies for millions worldwide. ✨ #climate⚡#glaciers⚡#flooding⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #540 · 27.12.2025 г., 20:31

🌍 In 2022, two major floods in Pakistan covered about one-third of the country, displacing over 33 million people—one of the largest human impacts from a single natural disaster this decade. ✨ #disasters⚡#flooding⚡#climate⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #267 · 19.09.2025 г., 20:12

🌍 Nearly 90% of the world’s wetlands have disappeared since 1700, shrinking vital habitats and reducing natural flood protection for millions of people living downstream. ✨ #wetlands⚡#extinction⚡#flooding⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography🌍 ​

Amazing Geography 🌍

@amazingeo · Post #473 · 24.11.2025 г., 12:31

🌍 In 2023, Cyclone Mocha became one of the strongest storms ever recorded in the North Indian Ocean, with winds over 250 km/h, causing severe flooding and reshaping coastal landscapes. ✨ #disaster⚡#cyclone⚡#flooding⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #358 · 11.10.2025 г., 12:31

🌍 Venice’s famous canals are threatened by sea level rise—since 1900, water has climbed over 30 centimeters, making floods more frequent and putting historic buildings at risk. ✨ #Venice⚡#erosion⚡#flooding⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

#Indonesia#flooding#rain#ecology#weather#climate#destruction#anomaly#climatechangey 🇮🇩 Наводнение в районе Реджанг-Лебонг (Бенгкулу, 7 мая 2026 года) 🌧 Наводнение произошло в районе Реджанг-Лебонг, провинция Бенгкулу, Индонезия. Сильные дожди привели к затоплениям и нарушениям движения. 🌊 Повышение уровня воды затронуло жилые районы и местную инфраструктуру. Подобные наводнения могут усилиться из-за экстремальных осадков и стать более частыми в результате изменения климата.

#Tajikistan#flooding#rain#ecolog#weather#climate#destruction#anomaly#climatechangey 🇹🇯 Наводнение в Душанбе (30 апреля 2026 года) 🌧 Сильные дожди привели к наводнению в городе Душанбе, Таджикистан. Интенсивные осадки вызвали затопление улиц и нарушили транспортное сообщение. 🌊 Текущая вода повлияла на повседневную жизнь и городскую инфраструктуру. Такие экстремальные осадки могут указывать на увеличение частоты опасных погодных явлений, связанных с изменением климата.

#China#Flooding#Fujian#HeavyRain#Floods#climate#destruction#anomaly#climatecrisis 🇨🇳Наводнение в провинции Фуцзянь, Китай🌧️ 🌊 23 апреля 2026 года сильные дожди продолжались в Фуцзяне и соседних регионах, вызывая локальные наводнения на улицах и в низменных районах. Видео показывают затопленные дороги и дренажные системы, работающие на полную мощность. 📅 По данным Министерства водных ресурсов Китая и государственного телеканала CCTV, наводнения ожидаются в апреле-мае 2026 года в Фуцзяне, Чжэцзяне и дельте реки Чжуцзян, причем уровень воды может превысить предупредительные пороги. ℹ️ В настоящее время нет официальных сообщений о крупных жертвах или широкомасштабных разрушениях в Фуцзяне в последние дни, но местные метеорологические службы продолжают следить за ситуацией. 📎 Источник: Reuters

#Afghanistan#flashflood#flooding#waterflow#transport#danger#extremeweather#weatheranomaly#climatechange#climate#destruction#anomaly#climatecrisis#weather 🇦🇫Афганистан — Мощный поток воды перевернул автобус на шоссе Герат–Кабул 🌊 28 марта 2026 года автобус с пассажирами пытался пересечь затопленный участок шоссе Герат–Кабул, но был смыт мощным потоком воды. 🚌 На кадрах видно, как транспортное средство теряет устойчивость и переворачивается, создавая опасную ситуацию для находившихся внутри людей. ⚠️ Подобные инциденты происходят во время ливневых паводков, когда уровень воды и интенсивность потока могут быстро возрастать, делая пересечение дорог чрезвычайно опасным.