Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
🚢Нефть из США идёт в Азию через Панамский канал на фоне кризиса поставок.
Азиатские НПЗ всё чаще направляют нефть из США в Азию через Панамский канал, используя танкеры типоразмера Aframax и Suezmax вместо традиционных супертанкеров VLCC. Причина — перебои поставок с Ближнего Востока и срочная потребность в альтернативных объёмах.
Среди сделок — рейс судна "Sea Turtle" (тип Aframax) из Хьюстона в Южную Корею, а также фрахтование "Aquahonor" и "Front Singapore" (тип Suezmax) по ставкам до $14–16 млн за рейс - с учетом ограничений канала, суда часто идут с частичной загрузкой.
С операционной точки зрения, рынок переходит к более быстрым, но менее эффективным маршрутам: использование Panama вместо обхода мыса Доброй Надежды сокращает время доставки, но увеличивает стоимость перевозки на баррель.
Для судоходства это означает рост спроса на среднетоннажные танкеры и усиление роли Панамского канала как ключевого узла в перераспределении глобальных потоков нефти.
📌Kpler — основана в 2014 году, международная аналитическая компания в сфере энергетики и морских перевозок, находится в частной собственности инвесторов.
#Tankers#Oil#Shipping#PanamaCanal#Energy
🚢Панамский канал перегружен: СПГ-танкеры вытесняют сухогрузный флот и повышают ставки.
Загруженность Панамского канала усилилась в начале апреля, поскольку СПГ-танкеры активно бронируют аукционные слоты, вытесняя сухогрузы. В отдельных случаях время ожидания достигает 4–5 недель, что существенно ограничивает доступность транзита.
Приоритет СПГ-сегмента объясняется более высокой стоимостью грузов и экономической целесообразностью, в результате чего балкеры сталкиваются с сокращением доступных окон и вынуждены искать альтернативные маршруты.
С технической точки зрения дополнительным фактором стали плановые работы в шлюзах Gatun, которые временно сократили пропускную способность канала. Несмотря на завершение обслуживания, рынок ожидает сохранения перегрузки как минимум до конца второго квартала.
С отраслевой точки зрения ситуация приводит к снижению эффективного предложения тоннажа: задержки фактически «выводят» суда из оборота, поддерживая рост ставок.
Стоимость прохода через канал достигает $700 000–800 000 за слот, что делает его экономически оправданным в первую очередь для СПГ и контейнерного сегмента.
Дополнительно сухогрузы все чаще выбирают альтернативные маршруты, включая обход через мыс Доброй Надежды или Магелланов пролив, что увеличивает тонна-миль и расходы, но позволяет избежать длительных задержек.
Таким образом, перегрузка Панамского канала становится ключевым фактором перераспределения глобальных потоков и роста волатильности на фрахтовом рынке.
📌Panama Canal Authority (ACP) — основана в 1997 году, государственный орган, управляет Панамским каналом, принадлежит правительству Панамы.
#shipping#PanamaCanal#LNG#drybulk#freight
🚢Панамский канал обновляет систему бронирования слотов LoTSA 2.5.
Администрация Panama Canal Authority (ACP) представила обновлённую программу распределения транзитных слотов LoTSA 2.5, направленную на повышение гибкости и предсказуемости прохода судов.
Новая система предусматривает перераспределение слотов по пакетам, расширенные возможности изменения дат и направлений, а также введение сервисных пакетов Fix, Flex и Flex+.
С операционной точки зрения, обновление улучшает планирование транзитов и адаптацию к рыночным условиям, снижая неопределённость для судоходных компаний.
Для рынка это сигнал дальнейшей цифровизации и оптимизации одного из ключевых мировых транспортных коридоров.
📌Panama Canal Authority (ACP) — основана в 1997 году, государственный оператор Панамского канала; полностью принадлежит правительству Панамы.
#Shipping#PanamaCanal#Logistics#Ports#Trade
🚢Панамский канал фиксирует скачок цен и трафика на фоне «эффекта Ормуза».
Панамский канал демонстрирует рост транзита и резкое увеличение стоимости прохода на фоне перераспределения глобальных потоков из-за кризиса на Ближнем Востоке.
За период октябрь 2025 — март 2026 зафиксировано 6288 транзитов (+224 г/г), при этом среднесуточный трафик вырос до 37 судов, а в пиковые дни превышает 40.
Наиболее сильный рост показали контейнерные перевозки и сегмент энергетических грузов (включая LPG-танкеры).
Ключевым индикатором напряженности стали цены на аукционные слоты:
— рост примерно на 180%.
— средний уровень увеличился до $385 000.
— отдельные суда платят свыше $1 млн за срочный проход.
Ситуация отражает «эффект бабочки» геополитики: проблемы в Ормузском проливе приводят к перераспределению маршрутов и росту нагрузки на альтернативные коридоры.
Пока система бронирования остается стабильной для заранее запланированных рейсов, однако спотовые операторы сталкиваются с ростом затрат и конкуренцией за доступ.
Таким образом, Панамский канал усиливает свою роль как критического узла глобальной логистики, где геополитика напрямую трансформируется в стоимость перевозок.
📌Panama Canal Authority (ACP) — управление основано в 1997 году, государственный орган, управляет Панамским каналом, принадлежит правительству Панамы.
#shipping#PanamaCanal#logistics#trade#markets
🚢Панамский канал увеличил транзит судов на 2,8%.
По данным Panama Canal Authority, количество проходов через Панамский канал в первые четыре месяца финансового года (до января) выросло на 2,8% и достигло 4 156 судов — на 114 больше, чем годом ранее.
Наибольший рост показали танкеры с энергоносителями, включая СПГ, а также автомобилевозы и балкеры.
Транзиты танкеров увеличились на 11,2%, чему способствовали активные поставки топлива и метанола из США в Южную Корею, Мексику и Гватемалу.
Несмотря на глобальную торговую волатильность, новые тарифные ограничения и геополитические риски, канал сохраняет устойчивый поток судов.
Аналитики ожидают дополнительного роста транзита СПГ-танкеров из США в Азию через Панаму, особенно если ограничения в Ормузском проливе сохранятся и маршруты будут перенаправляться.
Для морского рынка это подтверждает растущую роль Панамского канала как альтернативного энергетического коридора при перераспределении глобальных потоков нефти и газа.
📌Panama Canal Authority (Autoridad del Canal de Panamá) — государственная организация Панамы, основанная в 1997 году, управляет эксплуатацией и развитием Панамского канала. Полностью принадлежит государству Панама.
#PanamaCanal#LNGShipping#EnergyTrade#TankerMarket#GlobalShipping
Who's really in control of the Panama Canal? The battle for power heats up as tensions rise between the U.S. and China.
#PanamaCanal#Geopolitics#USChinaTensions#GlobalTrade#Shipping#PowerStruggle#CanalControl#InternationalRelations#PortPolitics#WorldNews#PowerPlay