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

Пребарај: #a321xlr

当前筛选 #a321xlr清除筛选
Лёгкое небо

@legkoenebo · Post #4483 · 09.01.2026 г., 19:46

🇮🇳IndiGo стала первым индийским оператором Airbus A321XLR 📌Индийский лоукостер IndiGo принял первый Airbus A321XLR 7 января 2026 года, став первой авиакомпанией страны, эксплуатирующей этот тип воздушного судна ⏺Это первый из 69 самолётов A321XLR, заказанных IndiGo у Airbus. Эти борты являются частью серии мегазаказов авиакомпании, которые приблизили её портфель заказов к отметке в 1 000 самолётов у европейского производителя ⏺IndiGo рассматривает A321XLR как ключевой инструмент для открытия новых рынков в регионе Индийского океана, Восточной и Центральной Азии, а также в Африке. Дальность полёта самолёта также позволяет охватить значительную часть Европы из хабов авиакомпании в Дели и Мумбаи, что усилит воздушное сообщение между континентами. Лёгкое небо #aviation#news#IndiGo#Airbus#A321XLR​​​​​​​​​​​​​​​​

Лёгкое небо

@legkoenebo · Post #4576 · 02.02.2026 г., 18:07

🇭🇺Глава Wizz Air неожиданно высказался об Airbus A321XLR 📌Wizz Air когда-то заказала 47 самолётов A321XLR, но сократила заказ до 11 машин, а возможно – и вовсе до шести. Закрытие базы в Абу-Даби и пересмотр маршрутной сети привели к выводу: столько дальнемагистральных узкофюзеляжников компании просто не нужно 🔵Сейчас у группы Wizz Air шесть XLR. Три числятся за британским подразделением (из них летают только два – один повреждён после удара хвостом), ещё три стоят на хранении в польском Быдгоще и используются как доноры двигателей. На регулярной основе XLR летают лишь на двух маршрутах из Лондона Гатвик – в Джидду и Медину, с блок-таймом почти семь часов. Между дальними рейсами самолёты ставят на короткие европейские маршруты для повышения утилизации 🔵CEO Йожеф Варади развеял главное заблуждение: XLR не обязан летать на дальние маршруты. Если использовать его как обычный A321neo на коротких и средних рейсах – он всё равно экономичнее старого A321ceo. Да, он чуть уступает стандартному neo из-за веса дополнительного бака, но разница минимальна 🔵По его словам, компания не собирается принимать «глупые решения» только потому, что самолёт способен лететь далеко: если подходящего маршрута нет – XLR просто работает как neo. 🔵В сети справедливо отмечают: на фоне Iberia и IndiGo, которые сразу задействовали XLR на интересных направлениях, подход Wizz Air выглядит расточительно – три машины фактически простаивают ⬅️Как считаете, оправдана ли такая стратегия или Wizz Air просто не рассчитала потребности? Лёгкое небо #aviation#news#WizzAir#Airbus#A321XLR

Лёгкое небо

@legkoenebo · Post #4593 · 05.02.2026 г., 07:24

✈️ Новые сверхдальние маршруты A321XLR 📌Airbus A321XLR продолжает расширять границы возможного для узкофюзеляжных самолётов. Достигнут новый рубеж – появился первый регулярный рейс на этом типе продолжительностью более 10 часов 🔵Самым длинным регулярным рейсом на A321XLR теперь стал маршрут Дели – Стамбул. В список длиннейших также вошли рейсы из Мумбаи в Стамбул, маршрут Aer Lingus из Дублина на Барбадос и рейс Air Canada из Копенгагена в Торонто 🔵Рейтинг основан на максимальном block time – времени от начала руления в аэропорту вылета до полной остановки в аэропорту прибытия. С ростом числа эксплуатантов A321XLR список самых длинных маршрутов будет постоянно меняться. Интересно, что прежний рекордсмен Air Canada – рейс Пальма-де-Майорка – Торонто – уже исключён из расписания на этом типе ⬅️А вы бы решились на 10-часовой перелёт в узкофюзеляжном самолёте? 🤩Лёгкое небо #aviation#LN_EDU#Airbus#A321XLR#AerLingus#AirCanada