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

Резултати

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

Пребарај: #inlandshipping

当前筛选 #inlandshipping清除筛选

🚢Китай развивает нулевую эмиссию на внутренних водных путях через новую инициативу. Компании Wah Kwong NatPower и Huzhou Wuxing Ruituo Energy подписали меморандум о создании коридоров с нулевыми выбросами на внутренних водных путях Китая. Проект предполагает развитие инфраструктуры электрификации, включая сети зарядки и станции замены аккумуляторов для судов. На первом этапе инициатива будет реализована в регионе Ханчжоу–Цзясин–Хучжоу (провинция Чжэцзян) с последующим масштабированием на другие ключевые водные маршруты страны. В проект также интегрированы цифровые платформы и системы мониторинга выбросов, что позволит отслеживать экологический эффект и оптимизировать эксплуатацию флота. Ключевым фактором успеха подобных проектов становится синхронизация развития флота и энергетической инфраструктуры. Интеграция зарядных мощностей, цифровых решений и операционных сервисов в единую систему позволяет повысить эффективность и масштабируемость модели, что потенциально делает Китай одним из лидеров в переходе к «зеленому» внутреннему судоходству. 📌Wah Kwong Maritime Transport Holdings — основана в 1952 году, частная судоходная компания, принадлежит семье Танг (Гонконг). #decarbonization#inlandshipping#China#energy#shipping

🚢China Merchants заказывает балкеры на СПГ-топливе для работы на реке Янцзы. Подразделение China Merchants Group — Changhang Freight (Zhoushan) — разместило заказ на два сухогрузных судна дедвейтом по 20 000 тонн с двигателями, работающим на СПГ для работы на реке Янцзы. Строительство будет осуществляться на верфи Jiangxi New Jiangzhou Shipbuilding Heavy Industry. Суда разработаны как балкеры типа "река-море", способные работать как на внутренних водных путях Янцзы, так и на прибрежных маршрутах. Каждое судно будет оснащено двумя главными двигателями мощностью по 2 000 кВт и системой СПГ-пропульсии. Ожидается, что применение СПГ позволит сократить выбросы CO₂ более чем на 20% по сравнению с традиционным мазутным топливом. Проект поддерживает стратегию Китая по декарбонизации судоходства на крупнейшей внутренней транспортной артерии страны и демонстрирует растущую роль экологичных технологий в речном и прибрежном флоте. 📌China Merchants Group — китайская государственная корпорация, основанная в 1872 году, один из крупнейших мировых конгломератов в области судоходства, портов и логистики. Контрольный пакет принадлежит государству КНР. #InlandShipping#LNGFuel#ChinaMerchants#YangtzeRiver#GreenShipping

🚢Грузопоток по реке Мадейра в Бразилии вырос на 20% в 2025 году несмотря на низкий уровень воды. По данным National Agency for Waterway Transportation, объём перевозок по реке Мадейра достиг 12,1 млн тонн в 2025 году, что на 20,4% больше, чем годом ранее. Коридор между Порту-Велью и бассейном Амазонки сохранил операционную устойчивость даже в период засухи и пониженных уровней воды. Министерство портов и аэропортов Бразилии отметило, что активность поддержала аграрную и торговую цепочку Северного региона. Структура грузов: ✔️ Соя — 7 млн тонн ✔️ Кукуруза — 3 млн тонн ✔️ Нефтепродукты — 1 млн тонн Регулятор подчеркнул, что постоянный гидрологический мониторинг и технические меры позволили снизить риски и обеспечить предсказуемость для операторов внутреннего водного транспорта. Рост перевозок по внутренним водным путям подтверждает стратегическую роль речной логистики в экспортоориентированной модели Бразилии, особенно в условиях климатической волатильности. 📌National Agency for Waterway Transportation (ANTAQ) создана в 2001 году и является государственным регулятором водного транспорта Бразилии, подчинённым федеральному правительству. #inlandshipping#Brazil#agrilogistics#rivertransport#SouthAmerica

🚢Wynnchurch Capital приобретает судостроительный бизнес Arcosa Marine, специализирующийся на речных и морских баржах. Инвестиционная компания Wynnchurch Capital подписала окончательное соглашение о покупке подразделения Arcosa Marine Products у Arcosa. Сделка предполагает выделение морского направления в самостоятельный бизнес. Базирующаяся в Луизиане Arcosa Marine производит сухогрузные и танкерные баржи, а также комплектующие для рынка внутренних водных путей США. Компания управляет шестью производственными площадками и обслуживает клиентов, перевозящих сельхозпродукцию, инертные материалы, нефтепродукты и другие навалочные грузы по системам рек Миссисипи и Огайо. Покупатель рассматривает актив как ключевой элемент транспортной инфраструктуры США с устойчивыми долгосрочными драйверами спроса. В качестве самостоятельной структуры Arcosa Marine получит более сфокусированную стратегию развития и гибкость для органического и M&A-роста. Для отрасли внутреннего судоходства США сделка сигнализирует о продолжающемся интересе частного капитала к сегменту судостроения на фоне стабильных грузопотоков по внутренним водным артериям. 📌Wynnchurch Capital — американская компания, специализируется на инвестициях в промышленный и инфраструктурный сектор. Wynnchurch Capital — это частная инвестиционная компания, которая была основана Джоном Хатерли в 1999 году, специализирующаяся на частных инвестициях (private equity) на среднем рынке. Компанией управляет команда партнеров, включая Джона Хатерли, Грега Глисона и Фрэнка Хейза. #InlandShipping#Barges#PrivateEquity#USInfrastructure#MarineIndustry