Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
🇨🇳✈️ «Хотелки» Китая: России придётся наращивать выпуск авиационных двигателей
Россия может предложить Китаю двигатели ПД-26 и ПД-35 для нового дальнемагистрального лайнера COMAC С919. Однако выполнить запрос Поднебесной непросто: мощности российских заводов сегодня сосредоточены на обеспечении собственных проектов, прежде всего МС-21.
Авиаэксперт Роман Гусаров отмечает:
«Россия не сможет уже завтра поставить ПД-26 в необходимом китайцам объёме, поскольку у нашей страны пока нет таких производственных мощностей»
Чтобы удовлетворить спрос Китая, производство придётся увеличить в несколько раз. А это — инвестиции, закупка нового оборудования и подготовка персонала 👨🏭🔧.
📌 Вывод: сотрудничество с Китаем сулит большие перспективы, но потребует серьёзной перестройки авиационной отрасли России.
#авиация#Китай#Россия#ПД26#ПД35#двигатели#МС21#COMAC
В Бразилии может появиться новый конкурент Airbus A320 и Boeing 737 🇧🇷✈️
Бразильская Embraer всерьёз присматривается к рынку среднемагистральных самолётов и изучает возможность создания собственного лайнера на 180–240 пассажиров. Такой самолёт стал бы прямым конкурентом Airbus A320, Boeing 737, а также МС-21 и COMAC C919.
Но с решением в Embraer не спешат. Компания действует максимально осторожно — без громких анонсов и обещаний.
🗣 Президент Embraer Франсиску Гомеш Нету в начале ноября сказал предельно честно:
> «Денег на всё не хватит»
Он пояснил, что проект среднемагистрального лайнера будет конкурировать за бюджет с другими направлениями:
– разработкой нового бизнес-джета 💼
– развитием военно-транспортного C-390🚛✈️
– обновлением семейства E-Jet
И это не пустые слова. Всего две недели назад Embraer официально закрыла программу турбовинтового самолёта на 70–90 мест, хотя риски там были заметно ниже, чем у проекта конкурента для Airbus A320 и Boeing 737.
Есть и ещё один серьёзный вызов:
в среднемагистральном классе Embraer фактически стартует с нуля.
* Самая крупная модель компании — E195-E2 — занимает примерно 1% рынка.
* Для сравнения: Airbus контролирует около 54%, а Boeing — примерно 35% этого сегмента.
На таком фоне Embraer пока почти незаметен. Но при этом спрос в нише огромный, и если бразильцы всё-таки решатся на новый проект, можно не сомневаться: будущий авиалайнер Embraer не останется без заказов📈
Как думаете, получится ли у бразильцев реально бросить вызов «большой двойке» и ворваться в лигу A320/737? Пишите своё мнение в комментариях 👇
#авиация#Embraer#Airbus#Boeing#МС21#COMAC#самолёты#авиарынок#авиапром#среднемагистральныйлайнер✈️🌍
✈️Airbus и Boeing проигрывают по цене — китайский C919 на подъёме!
🇵🇰 Авиакомпания Air Karachi планирует взять в лизинг C919 у китайской COMAC — и это удар по позициям западных авиагигантов.
💬 По словам председателя Air Karachi Ханифа Гохара,
«стоимость аренды самолета COMAC C919 ниже, чем у Airbus и Boeing».
📃 Лицензию на перевозки авиакомпания получила 5 июня 2025 года от CAA Пакистана.
📌 Старт:
• 3 самолёта C919 на старте
• внутренние рейсы — с конца 2025 года
• через год — международные маршруты на Ближний Восток 🌍
🚀 Что такое C919?
— Первый борт собран 2 ноября 2015
— Первый полёт — 5 мая 2017
— Сертификат типа — сентябрь 2022
— Первый коммерческий рейс — 28 мая 2023
— Производитель: китайская COMAC
📊 На сегодня:
• эксплуатируются в Air China, China Eastern, China Southern
• более 20 маршрутов
• 36 000+ часов налёта
• перевезли 2+ млн пассажиров
🧾 Спрос на C919 растёт, и Китай постепенно отвоёвывает долю у Airbus и Boeing — за счёт цены и серийного производства.
---
#C919#AirKarachi#COMAC#Авиация#Пакистан#Boeing#Airbus#КитайскаяТехника#НовостиАвиации#Импортозамещение#авиарынок🌏✈️
✈️🇨🇳 Китайские лайнеры выходят на мировую арену!
Сингапурский лоукостер AirAsia ведёт продвинутые переговоры с COMAC о закупке среднемагистральных C919 — конкурентов Boeing 737 и Airbus A320.
Глава Capital A Тони Фернандес уверен: ✨ «C919 — отличная машина!» ✨ Пилоты быстро освоят новую технику, а выгодная цена даст авиакомпании серьёзное преимущество.
Главный вопрос — международная сертификация: AirAsia ждёт одобрения FAA и EASA.
🔹 Китай делает ставку на глобальный рынок
🔹 AirAsia может стать первым крупным оператором C919 вне Китая
#авиация#AirAsia#COMAC#C919#авианьюс#самолеты#Boeing737#AirbusA320#lowcost#авиарынок🌍
🛑Китайский C919 под угрозой остановки производства
Проект китайского пассажирского самолёта C919 оказался под ударом: США приостановили экспорт реактивных двигателей CFM LEAP, без которых сборка лайнеров невозможна. ⚙️✈️
🚫 Эти двигатели производятся американской GE Aerospace и французской Safran, и именно они устанавливаются на все серийные C919. Теперь, с запретом на поставки, весь проект под угрозой:
🔹 больше 1 000 заказов
🔹 планы на экспорт
🔹 амбиции Китая в гражданской авиации
— всё это может быть заморожено.
🔍 Китай уже пытается искать обходные пути — например, заказывать двигатели через Европу под видом запчастей для Airbus A320. Но эксперты считают: без доступа к западным технологиям развитие собственной авиации тормозится, а полная независимость — пока лишь мечта. 🇨🇳✈️🧩
А чтобы эта мечта превратилась в явь нужно всего лишь забить на санкции, и закупить ПД-14 у России в промышленных масштабах, уж тут кидка точно не будет 🇨🇳🤝🇷🇺
#C919#COMAC#Китай#авиастроение#двигатели#авиация#CFMLEAP#GEAerospace#Safran#технологии#санкции#самолеты#гражданскаяавиация🛬🌍📉
🔧Санкции — назад!
США снова разрешили поставки авиадвигателей в Китай🇺🇸🇨🇳
Правительство США дало зелёный свет компании GE Aerospace на возобновление экспорта двигателей LEAP-1C и GE CF34 для самолётов китайской госкомпании COMAC🛠️
📌 Напомним:
В конце мая 2025 года Штаты приостановили экспорт авиационных технологий в адрес COMAC ✋
Это стало частью масштабного экономического давления после повышения пошлин с 2 апреля 2025 года.
Теперь двигатель снова в деле — а значит китайское импортозамещение и техническая независимость в авиации отодвигается.
---
#авиация#COMAC#GEAerospace#LEAP1C#СШАКитай#авиадвигатели#санкции#новостиавиации#торговаявойна#aviationnews#aircraft#aviationindustry
🌐✈️ США ударили по китайскому авиапрому: C919 под санкциями
🇺🇸 Администрация Трампа ограничила экспорт ключевых технологий в Китай, включая двигатели и компоненты для самолёта C919.
💥 Ответ на ограничение Китаем поставок критических минералов — в том числе для авиации, автопрома и микрочипов.
🇨🇳 Китай в ответ ускоряет разработку отечественного двигателя CJ-1000 — аналога западного LEAP-1C, чтобы снизить зависимость.
🛑 Но санкции США могут замедлить производство самолётов и усилить давление на COMAC — производителя C919.
📉 Напряжение между двумя крупнейшими экономиками мира превращается в технологическую холодную войну.
🇷🇺 В России вспоминают похожую историю с МС-21, которому пришлось заменить американские двигатели на отечественные ПД-14 — и это стало поворотной точкой в программе импортозамещения.
📅 Пока стороны объявили 90-дневную паузу в тарифной войне, но новые санкции говорят сами за себя — компромисс под вопросом.
P.S. И главный вопрос.. будут ли после подобных новосте нытики и боты, продолжать лить слезы по глобализации, выть о том, что Россия опять от всех закрылась железным занавесом,
и вопрошать, зачем нам вообще это импортозамещение?.... НУ КОНЕЧНО БУДУТ, они ж без этого жить не могут. И нам нормальным ребятам, весело с них 😂
#Китай#США#санкции#C919#COMAC#авиация#CJ1000#импортозамещение#МС21#ПД14#авиапром#технологии#торговаявойна#новости#экспорт#авиадвигатели