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

Пребарај: #rezapahlavi

当前筛选 #rezapahlavi清除筛选
Turchia e dintorni

@notizieturchia · Post #3863 · 12.03.2026 г., 22:03

#RezaPahlavi, il principe ereditario, si rivolge al popolo iraniano: "Ci attendono giorni importanti e decisivi. Mentre vi preparate alla fase finale di questa lotta, vi invito, per ora, ad astenervi dallo scendere in piazza".

Hashtags

Reza Pahlavi | رضا پهلوی

@officialrezapahlavi · Post #505 · 07.02.2019 г., 14:52

روز گذشته با شماری از نمایندگان کنگره امریکا از هر دو حزب جمهوریخواه و دموکرات دیدار و در خصوص راهکارهای ممکن برای حمایت عملی از مبارزات مسالمت‌آمیز مردم ایران گفتگو کردم. Yesterday I met with American congressional representatives from both the Republican and Democratic parties. In our private sessions I provided practical and impactful means by which they can support the ongoing, non-violent struggle of the Iranian people. @OfficialRezaPahlavi #RezaPahlavi #Iran #رضا_پهلوی #ایران

Marx21.it

@marx21news · Post #9715 · 09.02.2026 г., 14:09

Chi è davvero Reza Pahlavi? Il “leader” che invoca la guerra contro il suo stesso Paese Da oltre quarant’anni Reza Pahlavi, figlio dello Scià deposto, vive comodamente negli Stati Uniti mentre si autoproclama “leader della rivolta nazionale iraniana”. Senza alcun mandato popolare, senza radicamento reale nel Paese e con un seguito limitato a piccoli settori della diaspora, Pahlavi ha costruito la sua carriera come oppositore professionistabussando alle porte di tutti i nemici dell’Iran. Quando è diventato chiaro che il trono era un’illusione, ha cambiato strategia: non più “re”, ma portabandiera della guerra. Dall’avvicinamento alle lobby statunitensi e al regime sionista, fino alla visita ufficiale a Tel Aviv nel 2023, Pahlavi ha scelto di legare il proprio destino a chi da anni sabota, minaccia e aggredisce l’Iran. Durante l’attacco USA-israeliano del giugno 2025 non ha condannato l’aggressione. Anzi, ha partecipato attivamente alla propaganda bellica. E quando mesi dopo esplosero proteste interne, il suo appello a scendere in strada si è trasformato in due giorni di violenza coordinata, infiltrazioni armate e terrorismo urbano, con migliaia di morti. Alla domanda sulle vittime, la sua risposta è stata glaciale: «Questa è una guerra, e la guerra ha delle vittime». Parole che dicono tutto. Per Israele, Pahlavi non è un leader ma uno strumento. Per l’industria del “regime change”, è un volto spendibile. Per il popolo iraniano, sempre più chiaramente, è una figura estranea, distante, pronta a sacrificare vite pur di restare rilevante. La dinastia Pahlavi è già ricordata per aver compromesso la sovranità dell’Iran. Ma trasformare la nostalgia monarchica in una campagna per la guerra segna un punto ancora più basso. Nessuna liberazione passa dai bombardamenti. Nessun “leader” invoca la distruzione del proprio Paese. #Iran#RezaPahlavi#NoAllaGuerra#Sovranità#PropagandaBellica https://www.marx21.it/senza-categoria/chi-e-reza-pahlavi-il-millantatore-della-guerra-contro-liran/