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

Резултати

Пронајдени 10 слични објави

Пребарај: #imhayastan

当前筛选 #imhayastan清除筛选

⚠️Мировая авиация на грани топливного кризиса из-за конфликта вокруг Ирана Международные авиакомпании и аэропорты начинают готовиться к возможному дефициту авиационного топлива на фоне эскалации вокруг Ирана, сообщает Financial Times. ✈️Руководители крупнейших перевозчиков уже бьют тревогу: — становится всё сложнее получать гарантии наличия топлива в аэропортах на май — разрабатываются экстренные сценарии на случай перебоев 💬Глава Air France-KLM Бен Смит заявил, что рассматриваются меры вплоть до: — сокращения рейсов — отказа от направлений, где есть риск остаться без топлива на обратный путь 🌏 Под угрозой — регионы, зависящие от поставок нефти с Ближнего Востока, включая Юго-Восточную Азию. 🇻🇳 Вьетнам уже предупредил о возможном сокращении авиарейсов. 📌 Глобальные последствия конфликта начинают ощущаться не только в политике, но и в мировой логистике и авиации. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #МировойТопливныйКризис#Иран#БлижнийВосток#Авиация#Нефть#Геополитика#Новости#ImHayastan

🇷🇺🇺🇸Politico: Москва предлагала команде Трампа обмен — Иран в обмен на Украину По данным Politico, Москва якобы предложила администрации Дональда Трампа сделку: Россия прекращает передачу Ирану разведданных, включая информацию о координатах американских объектов, а США взамен прекращают предоставлять Украине разведданные о России. Как утверждает издание, это предложение российский посланник Кирилл Дмитриев озвучил американским представителям Стиву Уиткоффу и Джареду Кушнеру во время встречи в Майами. По информации Politico, Вашингтон это предложение отклонил. Европейские дипломаты, как пишет издание, увидели в этом попытку Москвы вбить клин между США и Европой, одновременно ослабив поддержку Украины и разыграв иранское направление в собственных интересах. При этом ранее США уже временно приостанавливали обмен разведданными с Украиной, что само по себе показывало: тема разведки стала одним из ключевых рычагов давления в большой геополитической игре. Что это значит на деле? Россия пытается торговать сразу несколькими фронтами: Украиной, Ираном, безопасностью США и расколом Запада. Это уже не дипломатия в классическом смысле — это политический аукцион, где Москва пытается продать “услугу”, которую сама же превратила в угрозу. Если публикация Politico соответствует действительности, это еще одно подтверждение: в мировой политике сегодня торгуют не только нефтью, газом и оружием — торгуют войной, разведкой и жизнями целых регионов. Для Армении это ещё один урок: в мире, где великие державы меняют разведку, войны и союзников как фишки на столе, выживает только тот, кто умеет рассчитывать прежде всего на себя. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Россия#США#Трамп#Украина#Иран#Politico#Геополитика#Армения#МояАрмения#ImHayastan

⚡️🚨🇮🇷Тегеран под ударами: серия авиаатак утром 20 марта По территории столицы Ирана — Тегерана — утром пятницы были нанесены несколько авиаударов. Об этом сообщил корреспондент Al Jazeera Али Хашем. 💥 По его словам, зафиксировано не менее 4–5 ударов: — взрывы в восточной части города — как минимум один удар в центре Тегерана — над городом виден дым 🛡️ Иранские системы ПВО активно работают и пытаются перехватить цели. 📌 Обстановка остаётся напряжённой, информация уточняется. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Иран#Тегеран#Авиаудары#БлижнийВосток#Эскалация#ПВО#Новости#ImHayastan

⚡️🇦🇲✝️🇬🇪Католикос всех армян Гарегин II может отправиться в Грузию на похороны Илии II Католикос всех армян Гарегин II намерен поехать в Грузию для участия в церемонии прощания с Патриархом всея Грузии Илией II. 📩 В Первопрестольном Эчмиадзине подтвердили, что официальное письмо от Патриархии Грузинской православной церкви уже получено. ⚖️ В настоящий момент адвокаты занимаются вопросами, связанными с существующими ограничениями на выезд Католикоса, чтобы обеспечить его участие в траурных мероприятиях. 📌Ситуация находится в процессе решения. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Армения#ГарегинII#Эчмиадзин#Грузия#ИлияII#Церковь#Новости#ImHayastan

⚡️Сразу 4 важных сигнала для Армении за день — и все они о том, куда толкают страну Пока обществу продают лозунги о «мире», «балансе» и «новых возможностях», внешнеполитическая картина становится всё жёстче и откровеннее. ▪️Армения запросила у ЕС уже третью помощь по линии European Peace Facility Это означает одно: даже сама власть понимает, что без внешней поддержки вопросы безопасности никуда не делись. Когда стране действительно нужна опора, красивых речей уже недостаточно. ▪️При этом в МИД прямо признают: Армения пока не готова начать процесс вступления в ЕС То есть обществу годами продают европейскую надежду, но когда доходит до конкретики — звучит холодное признание: страна не готова. Получается знакомая схема: громкие обещания для публики, а потом осторожный шаг назад. ▪️Армения уже отправила гуманитарную помощь Ирану — в основном медикаменты С точки зрения человеческой и соседской логики это понятно. Но для Еревана это ещё и показатель реальности: как бы ни рисовали новые геополитические маршруты, Иран остаётся для Армении жизненно важным соседом, а не абстрактной темой для дипломатии. ▪️На этом фоне Ереванговорит, что диалог с Турцией уже “созрел” для дипотношений и полного открытия границы Звучит красиво. Но любой армянин имеет право спросить: на каких условиях, какой ценой и что именно снова попросят “пересмотреть” ради этой нормализации? Одновременно Армения углубляет и новые дипломатические шаги с Пакистаном — ещё один знак того, что региональная конфигурация меняется быстрее, чем обществу успевают объяснить. Что это значит для Армении? Сегодняшний день показал главное: Армения всё глубже втягивается в сложную перестройку внешней политики — между ЕС, Ираном, Турцией и новыми дипломатическими направлениями. Но когда власть двигает страну сразу по нескольким чувствительным трекам, народ обязан знать не только красивую витрину, но и политическую цену каждого такого шага. Потому что вопрос уже не в том, с кем говорить. Вопрос в том, что Армения отдаёт взамен. #Армения#Հայաստան#МИДАрмении#ЕС#Iran#Турция#Пашинян#Геополитика#ImHayastan 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan

🇮🇷⚡️Первое новогоднее обращение Моджтабы Хаменеи: Иран входит в 1405 год под лозунгом “экономики сопротивления” Новый верховный лидер Ирана, аятолла Моджтаба Хаменеи, выступил с первым обращением по случаю Ноуруза и объявил лозунг нового года: «Экономика сопротивления в тени национального единства и национальной безопасности». В своем послании он сделал главный акцент не на празднике, а на выживании, мобилизации и внутренней консолидации страны. Это уже не риторика мирного времени — это язык государства, которое открыто готовится к долгому противостоянию. Хаменеи также отверг причастность Ирана к недавним атакам в Турции и Омане, заявив, что ни вооруженные силы Исламской Республики, ни союзные ей силы к этим ударам отношения не имеют. Сам факт этого обращения важен вдвойне: это первое новогоднее послание после прихода Моджтабы Хаменеи к власти в марте 2026 года, на фоне войны и резкой перестройки власти в Тегеране. Reuters ранее сообщал, что его возвышение происходило под сильным влиянием Корпуса стражей исламской революции, а сам новый лидер долго не появлялся публично. Что это значит? Иран официально дает понять: страна не собирается говорить с миром языком уступок; приоритеты Тегерана сейчас — безопасность, единство, жесткий контроль внутри и экономическая адаптация к войне и санкциям. Для региона, да и для всего мира в целом это сигнал о том, что Тегеран не выходит из конфликта — он перестраивается на долгую борьбу. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Иран#Хаменеи#МоджтабаХаменеи#Ноуруз#БлижнийВосток#Геополитика#Новости#МояАрмения#ImHayastan

🇱🇧🇷🇺🔥🇮🇱Ливан снова под ударом: рядом с журналистами RT упала израильская ракета В Ливане рядом со съёмочной группой RT упала израильская ракета. В результате удара пострадали корреспондент и оператор телеканала. На фоне инцидента Россия потребовала от Израиля провести расследование нападения на журналистов и не допустить повторения подобных атак. Также сообщается, что посол Израиля в России Одед Йосеф был вызван в МИД РФ после ракетного удара в Ливане. Очередной эпизод войны на Ближнем Востоке вновь показывает, что под ударом оказываются не только военные объекты, но и журналисты, которые выполняют свою работу в зоне конфликта. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Ливан#Израиль#RT#Россия#МИД#БлижнийВосток#Журналисты#ВоенныйКонфликт#Срочно#Новости#МояАрмения#ImHayastan

🇬🇪😢🙏Грузия прощается с духовным лидером Десятки тысяч верующих вышли на улицы Тбилиси минувшей ночью, чтобы проститься с Католикосом-Патриархом всея Грузии Илией II. Патриарх, ушедший из жизни в возрасте 93 лет, возглавлял Грузинскую Православную Церковь с 1977 года. За десятилетия служения он стал не просто религиозным деятелем, а символом единства, веры и духовного возрождения грузинского народа. Его эпоха — это время испытаний, но и сохранения национальной идентичности, традиций и духовных ценностей. Для миллионов грузин он был моральным ориентиром и голосом совести. 📌 Сегодня Грузия провожает не только Патриарха, но и целую эпоху. 🇦🇲 В такие моменты особенно ясно ощущается, насколько важны духовные лидеры для сохранения нации, ее веры и будущего. 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Грузия#ИлияII#Православие#Церковь#Тбилиси#Кавказ#Вера#Духовность#История#МояАрмения#ImHayastan

📹‼️В сети публикуют кадры последствий падения обломков в районе Старого города Иерусалима — рядом с храмом Гроба Господня, мечетью Аль-Акса, Стеной Плачаи Армянским кварталом. Именно поэтому здесь нужна не истерика, а точность. На данный момент корректно говорить о падении обломков на фоне ракетной атаки и работы ПВО, а не бездоказательно утверждать, что речь идёт именно об обломке иранской ракеты. В условиях такого конфликта в городской черте могут падать как части атакующих боеприпасов, так и обломки перехватчиков. Но главный смысл новости не в том, чьи именно это фрагменты. Факт в другом: район святынь трёх религий и армянский квартал уже оказался в зоне последствий большой войны. Когда обломки падают в Старом городе Иерусалима, это означает одно: эскалация дошла до точки, где любой новый удар, любой сбой ПВО, любой просчёт сторон может привести к последствиям, выходящим далеко за рамки очередной военной сводки. Это уже не вопрос громких заголовков. Это вопрос того, насколько близко конфликт подошёл к местам, имеющим колоссальное религиозное, историческое и политическое значение для всего мира. И напомним: 16 марта была опубликована точно такая же информация, с практический такой же формулировкой... 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Иерусалим#СтарыйГород#Израиль#Иран#АльАкса#ХрамГробаГосподня#СтенаПлача#БлижнийВосток#Геополитика#ImHayastan

📹‼️В сети публикуют кадры последствий падения обломков в районе Старого города Иерусалима — рядом с храмом Гроба Господня, мечетью Аль-Акса, Стеной Плачаи Армянским кварталом. Именно поэтому здесь нужна не истерика, а точность. На данный момент корректно говорить о падении обломков на фоне ракетной атаки и работы ПВО, а не бездоказательно утверждать, что речь идёт именно об обломке иранской ракеты. В условиях такого конфликта в городской черте могут падать как части атакующих боеприпасов, так и обломки перехватчиков. Но главный смысл новости не в том, чьи именно это фрагменты. Факт в другом: район святынь трёх религий и армянский квартал уже оказался в зоне последствий большой войны. Когда обломки падают в Старом городе Иерусалима, это означает одно: эскалация дошла до точки, где любой новый удар, любой сбой ПВО, любой просчёт сторон может привести к последствиям, выходящим далеко за рамки очередной военной сводки. Это уже не вопрос громких заголовков. Это вопрос того, насколько близко конфликт подошёл к местам, имеющим колоссальное религиозное, историческое и политическое значение для всего мира. И напомним: 16 марта была опубликована точно такая же информация, с практический такой же формулировкой... 🇦🇲Моя Армения🇦🇲Իմ Հայաստան Подписаться 👉@Im_Hayastan #Иерусалим#СтарыйГород#Израиль#Иран#АльАкса#ХрамГробаГосподня#СтенаПлача#БлижнийВосток#Геополитика#ImHayastan