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 слични објави

Пребарај: #wtiv

当前筛选 #wtiv清除筛选

🚢F&G получает одобрение класса DNV для установки турбин мощностью более 20 МВт. Инженерная компания Friede & Goldman (F&G) получила одобрение классификационного общества DNV для концепта нового судна типа типа WTIV (Wind Turbine Installation Vessel), рассчитанного на установку офшорных ветровых турбин мощностью более 20 МВт. Проект ориентирован на работу с экстремальными нагрузками и в более глубоких водах, что соответствует текущему тренду увеличения размеров и мощности турбин. Новое поколение судов типа WTIV должно обеспечить безопасную и эффективную установку крупнейших оффшорных объектов. С технической точки зрения разработка таких судов требует усиленных подъемных систем, высокой устойчивости и способности работать в сложных погодных условиях. Одобрение DNV подтверждает соответствие концепта современным требованиям безопасности и эксплуатации. Рынок офшорной ветроэнергетики создает новый спрос на специализированный флот. Существующие суда постепенно устаревают с учетом роста размеров турбин, что стимулирует разработку и строительство новых судов типа WTIV. Новые проект отражает гонку технологий в оффшорной ветроэнергетике, где судостроители и инжиниринговые компании стремятся адаптироваться к быстро растущим требованиям отрасли. 📌Friede & Goldman Ltd. — основана в 1949 году, частная инженерная компания, базируется в США. Friede & Goldman Ltd. (F&G) — одна из знаковых американских инженерных компаний в офшорной индустрии, сыгравшая ключевую роль в развитии буровых установок и специализированного флота. Компания была создана в 1949 году в Новом Орлеане инженерами Джеромом Голдманом (Jerome L. Goldman) и Владимиром Фридом (Vladimir M. Friede). F&G стала пионером в ряде направлений: разработка первых самоподъемных (jack-up) буровых установок (1952), внедрение мобильных буровых платформ, создание инновационных типов судов (включая semi-submersible и drillships). На сегодняшний день Friede & Goldman функционирует как инженерное подразделение в структуре China Merchants Industry, сохраняя собственный бренд. #offshore#wind#WTIV#shipping#innovation

🚢Maersk Offshore Wind представила новое судно для монтажа ветротурбин “Maersk Viridis”. Компания Maersk Offshore Wind провела церемонию крещения нового судна для монтажа морских ветроустановок “Maersk Viridis”, построенного на верфи Seatrium. Судно стало первым в новой серии специализированных установочных судов компании. Судно типа WTIV дедвейтом около 40 000 тонн оснащено главным краном грузоподъёмностью 1 900 тонн с высотой подъёма 180 м, что позволяет устанавливать турбины мощностью 15+ МВт - новое поколение морских ВЭС. Конструкция предусматривает feeder-based installation system, при которой компоненты доставляются вспомогательными судами, а стабилизационная система удерживает их рядом с WTIV даже при сложных погодных условиях, что увеличивает рабочие окна и ускоряет монтаж турбин. Судно направится в США в марте 2026 года для участия в проекте Empire Wind компании Equinor у побережья Нью-Йорка. Ожидается, что установленная инфраструктура обеспечит электроэнергией около 500 000 домохозяйств. Название “Viridis” происходит от латинского слова «зелёный» и символизирует роль судна в энергетическом переходе. 📌Maersk Offshore Wind — подразделение датской группы A.P. Moller – Maersk, основанной в 1904 году. Основным владельцем группы является инвестиционная компания A.P. Moller Holding, контролируемая семьёй Мёллер. #OffshoreWind#WTIV#Maersk#EnergyTransition#Renewables

🚢Seatrium передала судно типа WTIV нового поколения - компании Maersk Offshore Wind Сингапурская Seatrium завершила строительство и передала ветроустановочное судно нового поколения (тип WTIV) компании Maersk Offshore Wind после успешных ходовых испытаний и финальной оценки готовности. Судно рассчитано на монтаж турбин мощностью 15+ МВт и оснащено главным краном грузоподъёмностью 1 900 тонн с высотой подъёма 180 метров. Конструкция предусматривает "feeder-based" схему монтажа со стабилизирующей системой, удерживающей вспомогательные суда при передаче компонентов даже при сложной волне, что расширяет погодное окно и снижает сроки и стоимость установки. Проект соответствует требованиям U.S. Jones Act и может применяться в других регионах. Первый контракт — участие в проекте Empire Wind у побережья Нью-Йорка, старт работ запланирован на март 2026 года. Ветропарк рассчитан на снабжение электроэнергией до 500 000 домохозяйств. Для морского рынка это подтверждение роста спроса на высокотехнологичный специализированный тоннаж под турбины нового класса и усиление роли WTIV в масштабировании офшорной ветроэнергетики. 📌Seatrium Limited — сингапурская офшорная и судостроительная компания, образованная в 2023 году в результате слияния Sembcorp Marine и Keppel Offshore & Marine. Акции обращаются на Сингапурской бирже (SGX); компания является публичной и принадлежит институциональным и частным инвесторам. #OffshoreWind#WTIV#Seatrium#Renewables#MarineConstruction