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

Пребарај: #safepassage

当前筛选 #safepassage清除筛选
Freedom Flotilla Coalition

@FFC_official_channel · Post #373 · 03.06.2025 г., 03:11

UN EXPERTS DEMAND SAFE PASSAGE FOR ‘MADLEEN’ JOIN THEM Today, UN experts called for safe passage for the Madleen — our civilian ship carrying vital aid and international volunteers to Gaza. Now we need your voice. Let’s turn international law into action. 📣 Take one minute: go to bit.ly/IsraelOnNotice and send a letter to the Israeli government, UN officials, and diplomatic missions demanding that Israel abide by international law and refrain from attacking, sabotaging or otherwise interfering with the Madleen and her mission. Together, we can open a people’s sea corridor to Gaza. #SafePassage#BreakTheSiege#FreedomFlotilla

Freedom Flotilla Coalition

@FFC_official_channel · Post #671 · 23.07.2025 г., 20:23

Six of the seven U.S. citizens aboard the Freedom Flotilla’s ‘Handala’ just read a powerful open letter to Donald Trump and the U.S. government. From the founder of Amazon Labor Union’s to a U.S. war veteran, a lawyer, a marine rescue worker, a human rights attorney, and an actor—each one delivered a searing truth: the U.S. is an active participant in Israel’s war crimes against Palestinian children in Gaza. If the U.S. does not support the deliberate starvation of children, they should guarantee safe passage of ‘Handala’. ‘Handala’ plans to deliver food, medicine, and baby formula to Gaza in a few days. They are unarmed, trained in nonviolence, and yet, are under threat by Israel. If anything happens to them, the world will know who is responsible. Share this. Tag your politicians. Break the silence. Let the world see who’s standing on the right side of history. #PresidentTrump#Handala#SafePassage#FreedomFlotilla#ForTheChildrenOfGaza#StandWithGaza#AllEyesOnDeck

Freedom Flotilla Coalition

@FFC_official_channel · Post #452 · 06.06.2025 г., 22:46

🚨 ACTION ALERT: The UK MUST protect ‘Madleen’ 🚨 The ‘Madleen’ is a UK-flagged civilian ship sailing to Gaza with life-saving aid as part of the #FreedomFlotilla. The UK has a legal duty to protect its vessel and the civilians aboard from Israeli interference. 🇬🇧 Under international law, the UK must: • Prevent genocide • Reject Israel’s illegal blockade of Gaza • Defend its flagged ship from unlawful attacks Support us by taking action! Contact the Foreign Office and your MP. Demand protection for the ‘Madleen’ and accountability for any aggression. Email: [email protected] X: @FCDOGovUK IG: @ForeignAndDevelopmentOffice Tel: 020 7008 5000 #SafePassage#UKResponsibility#BreakTheSiege#BreakIsraelsSiege#EndComplicity#Madleen#GazaGenocide#FreedomFlotilla

Crypto M - Crypto News

@CryptoM · Post #64921 · 10.04.2026 г., 09:34

🚀 Malaysian Prime Minister Confirms Safe Passage of Oil Tankers Through Hormuz Strait On April 10, Malaysian Prime Minister Anwar confirmed that six out of seven oil tankers heading to Malaysia have successfully navigated the Hormuz Strait. According to BlockBeats, the remaining vessel is currently undergoing repairs due to mechanical issues and remains docked at the port. #MalaysianPrimeMinister#OilTankers#HormuzStrait#SafePassage#Anwar#MechanicalIssues#BlockBeats#Malaysia