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

Резултати

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

Пребарај: #camerun

当前筛选 #camerun清除筛选
Papa & Vaticano - News

@papaevaticanonews · Post #9677 · 16.03.2026 г., 12:18

🇩🇿🇨🇲🇦🇴🇬🇶🇻🇦 Diffuso il programma del lungo Viaggio Apostolico che Papa #LeoneXIV compirà in #Afrrica dal 13 al 23 aprile 2026. Il volo papale decollerà dall'aeroporto di Fiumicino alle ore 8 del 13 aprile per fare rotta verso Algeri. Qui l'arrivo è previsto alle ore 9. Subito dopo la cerimonia di benvenuto seguirà la visita al monumento dei martiri Maqam Echahid. Quindi, alle 10.15, la visita di cortesia al Presidente della Repubblica di #Algeria nel Palazzo Presidenziale. Alle 11 il primo discorso del Santo Padre durante l'incontro con le Auorità e il Corpo Diplomatico. Nel pomeriggio è prevista la visita alla grande moschea di Algeri, la visita al centro di accoglienza delle suore agostiniane missionarie a Bab El Oued. A conclusione della giornata, l'incontro con la comunità cattolica algerina nella basilica di Nostra Signora d’Africa. Il 14 aprile, alle ore 9.20, il Pontefice partirà in aereo per raggiungere Annaba. Qui visiterà il sito archeologico dell'antica Ippona, poi la Casa di Accoglienza per anziani delle Piccole Sorelle dei Poveri. A mezzogiorno l'incontro privato con i confratelli agostiniani. Nel pomeriggio, alle 15.30, il Santo Padre presiederà la Santa Messa nella basilica di Sant’Agostino. Quindi il rientro ad Algeri in aereo. Mercoledì 15 aprile il Vescovo di Roma lascerà Algeri per raggiungere, in aereo, Yaoundé, capitale del #Camerun. Dopo la cerimonia di benvenuto in aeroporto, prevista alle 15.20, Alle 16:20 il Papa farà visita al Presidente della Repubblica nel Palazzo Presidenziale. Seguirà alle 17.05 l’incontro con le Autorità. Nel tardo pomeriggio, alle 17.45, il Pontefice visiterà l’orfanotrofio Ngul Zamba e alle 18.25 incontrerà privatamente i Vescovi del Camerun nella sede della Conferenza Episcopale. Giovedì 16 aprile Leone XIV partirà alle 10.05 dall’aeroporto di Yaoundé per Bamenda. Alle 11.30 presiederà un incontro per la pace con la comunità locale nella Cattedrale di San Giuseppe. Nel pomeriggio, alle 15.15, celebrerà la Santa Messa all’aeroporto internazionale della città. Quindi in aereo il rientro a Yaoundé. All'indomani, venerdì 17 aprile, il Pontefice volerà a Douala. Alle 11 celebrerà la Santa Messa nello stadio Japoma. Dopo una visita privata all’ospedale cattolico Saint Paul, ripartirà per Yaoundé. Alle 17:30 incontrerà il mondo universitario presso l’Università Cattolica dell’Africa Centrale. (1/2)

Papa & Vaticano - News

@papaevaticanonews · Post #9478 · 25.02.2026 г., 13:54

🇩🇿🇨🇲🇦🇴🇬🇶🇻🇦 “Accogliendo l’invito dei rispettivi Capi di Stato e delle Autorità ecclesiastiche, #LeoneXIV compirà un Viaggio Apostolico in #Algeria, #Camerun, #Angola e #GuineaEquatoriale dal 13 al 23 aprile. Sua Santità si recherà ad Algeri e Annaba dal 13 al 15 aprile; a Yaoundé, Bamenda e Douala dal 15 al 18 aprile; a Luanda, Muxima e Saurimo dal 18 al 21 aprile; e a Malabo, Mongomo e Bata dal 21 al 23 aprile“. Lo rende noto il direttore della Sala Stampa della Santa Sede. Il programma del Viaggio, precisano dal Vaticano, sarà reso noto a suo tempo. Il Viaggio Apostolico in Africa porterà il Pontefice sulle tracce di Sant’Agostino, come voluto dallo stesso Prevost, senza però dimenticare gli ultimi, i poveri e coloro che se ne prendono cura. Anche la pace sarà uno degli obiettivi: Leone XIV si recherà infatti nella regione anglofona a nord del Camerun, dove da dieci anni è in corso una guerra civile che vede impegnate le forze armate regolari e gli indipendentisti. Questo pellegrinaggio, per durata, si avvicina a quello compiuto in Africa nel 1985 da Giovanni Paolo II che in undici giorni visitò ben 7 Paesi.