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

Пребарај: #zim

当前筛选 #zim清除筛选
СОЛОДИН LIVE

@goodtraders · Post #9097 · 31.05.2025 г., 12:06

#ZIM Человек донат отправил - а я не ответил. Нехорошо )) 👆 В общем, пока выглядит неплохо - при пробое уровня 30$ может появится сильный бычий сигнал. Потоки пока растут (но они имеют сильный циклизм).

Hashtags

🚢ZIM: падение ставок снизило прибыль, но компания остаётся прибыльной. Контейнерная линия ZIM Integrated Shipping Services опубликовала финансовые результаты за IV квартал и весь 2025 год, показав заметное снижение показателей на фоне падения фрахтовых ставок и умеренного сокращения объёмов перевозок. В IV квартале 2025 года компания перевезла 898 тыс. TEU (–8,6% г/г), при средней ставке $1 333 за TEU (–29,3%). Выручка снизилась до $1,5 млрд (–31,5%), а чистая прибыль составила $38 млн против $563 млн годом ранее. По итогам 2025 года перевозки составили 3,7 млн TEU (–2,3%), а средняя ставка — $1 551 за TEU (–17,8%). Выручка снизилась до $6,9 млрд (–18,1%). Чистая прибыль составила $481 млн, что на 77,7% ниже результата 2024 года. Несмотря на снижение доходности, компания сохранила положительный денежный поток ($2,3 млрд операционного cash flow) и $2 млрд свободного денежного потока, что позволило продолжить выплату дивидендов. Руководство связывает устойчивость результатов с модернизацией флота, включая внедрение СПГ-контейнеровозов, и активным использованием цифровых решений и аналитики. 📌ZIM Integrated Shipping Services Ltd. — израильская контейнерная судоходная компания, основанная в 1945 году. Акции компании обращаются на Нью-Йоркской фондовой бирже (NYSE); компания является публичной и принадлежит институциональным и частным инвесторам. #ContainerShipping#ZIM#FreightRates#ShippingFinance#GlobalTrade

ТИС ЛОДЖИСТИК

@tislogistic · Post #5175 · 18.12.2025 г., 01:03

⚓️🔥Битва гигантов за ZIM: MSC vs Hapag-Lloyd На израильского контейнерного перевозчика претендуют сразу два мировых лидера — MSC и Hapag-Lloyd. Но если у одних путь выглядит относительно гладким, то у других — с серьезными политическими и профсоюзными барьерами. 📌Что происходит: - Совет директоров ZIM запустил формальный процесс продажи и привлек инвестбанк для оценки предложений. - Первичное предложение менеджмента компании было отклонено. - До завершения сделки компания официально хранит молчание. ⚖️Почему MSC выглядит фаворитом: - Частная структура собственности — без «чувствительных» акционеров - Уже есть операционная синергия с ZIM на маршрутах -Сильная финансовая позиция для крупной сделки 🚧Сложности у Hapag-Lloyd: - В акционерах — ближневосточные суверенные фонды - Это вызвало жесткую реакцию профсоюзов и властей Израиля - ZIM в стране считается стратегическим активом 🛑Ключевой фактор — «золотая акция» Государство сохраняет право вето на продажу крупного пакета: - контроль над советом директоров и топ-менеджментом - обязательство предоставлять флот в экстренных ситуациях ➕ Дополнительная интрига Внутри ZIM назревает корпоративный конфликт — часть акционеров требует смены совета директоров. Годовое собрание уже перенесли, что добавляет неопределенности в момент, когда решается судьба компании. В общем сделка выходит далеко за рамки бизнеса — здесь переплелись политика, безопасность и глобальная логистика 🌍📦 ________ #ТИСЛОДЖИСТИК #MSC #HapagLloyd #ZIM #глобальныелинии

🚢Поглощение Hapag-Lloyd/ZIM усиливает доминирование Top-5 контейнерных линий. Сделка по приобретению ZIM Integrated Shipping Services германской группой Hapag-Lloyd за $4,2 млрд отражает ускоряющуюся консолидацию в линейном судоходстве. В случае завершения сделки объединённая компания укрепит позиции Hapag-Lloyd как 5-го по величине оператора в мире, увеличив флот примерно на 232 судна и доведя портфель заказов до 700 000 TEU, что сократит разрыв с COSCO и усилит разрыв между Top-5 и остальными участниками рынка. Ключевые выводы: ✔️ Доля Top-5 перевозчиков уже достигает 37% мирового контейнерного флота и может приблизиться к 40% после сделки. ✔️ Масштаб становится критически важным фактором конкурентоспособности: операционная эффективность, доступ к слотам, оптимизация сети. ✔️ Перевозчики вне Top-10 теряют долю рынка и влияние. ✔️ Для Hapag-Lloyd сделка — способ защитить позиции от давления со стороны ONE и Evergreen, а также сохранить статус глобального игрока. Особый элемент структуры — создание «New ZIM» при участии FIMI Funds для обслуживания только израильских интересов и сохранения «золотой акции» государства Израиль. Сделка отражает новую фазу отрасли: рост происходит преимущественно через M&A и концентрацию активов, а не через органическое расширение. 📌Hapag-Lloyd основана в 1847 году (слияние Hamburg-Amerikanische Packetfahrt-Actien-Gesellschaft и Norddeutscher Lloyd в 1970 году). Крупнейшим акционером является логистическая группа Kühne Holding AG (семья Кюне). Штаб-квартира — Гамбург. #ContainerShipping#HapagLloyd#ZIM#MaritimeMA#GlobalTrade