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

Резултати

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

Пребарај: #inghilterra

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

@papaevaticanonews · Post #9764 · 26.03.2026 г., 12:11

All'indomani dell’insediamento ufficiale di Sarah Mullally come Arcivescovo di #Canterbury, avvenuto nella Cattedrale di Canterbury, Papa #LeoneXIV scrive alla massima autorità spirituale della Chiesa anglicana. A consegnare la lettera, questa mattina, l’inviato del Pontefice, il Cardinale Koch, Prefetto del Dicastero per la Promozione dell'Unità dei Cristiani, al termine di una preghiera comune per celebrare i 60 anni dell’incontro tra Paolo VI e l’Arcivescovo Ramsey, avvenuto a Roma nel 1966. Sessantatré anni, sposata, madre di due figli, Mullally è la prima donna a ricoprire la carica di Arcivescovo di Canterbury. Ed è stato proprio nella Cattedrale di Canterbury, nella Chapel of our Lady Martyrdom, che il Cardinal Koch ha consegnato la missiva del Pontefice dopo un momento di preghiera comune. "Credo fermamente che dobbiamo continuare a dialogare nella verità e nell’amore, perché è solo nella verità e nell’amore che possiamo giungere insieme a conoscere la grazia, la misericordia e la pace di Dio”, le parole del Santo Padre, il quale riconosce che “l’incarico per il quale è stata scelta" Mullally "è gravoso, con responsabilità non solo nella Diocesi di Canterbury, ma in tutta la Chiesa d’#Inghilterra e nella Comunione anglicana”. Il Vescovo di Roma ricorda che sessant’anni fa “i nostri predecessori di felice memoria, san Paolo VI e l’arcivescovo Michael Ramsey, hanno impegnato cattolici e anglicani in una nuova tappa nello sviluppo delle relazioni fraterne, basate sulla carità cristiana”. “Quel nuovo capitolo di rispettosa apertura - scrive il Successore di Pietro - ha portato molto frutto in questi sei decenni e continua ancora oggi”. Il Papa osserva che “il cammino ecumenico non è sempre stato facile” e che “nuove circostanze hanno presentato nuovi disaccordi tra noi”, ma le differenze “non possono impedirci di riconoscerci come fratelli e sorelle in Cristo in ragione del nostro comune battesimo”. Leone XIV fa infine proprie le parole di Papa Francesco ai primati anglicani: “Sarebbe uno scandalo se, a causa delle nostre divisioni, non adempissimo alla nostra comune vocazione di far conoscere Cristo”. 📸 In foto, alcuni scatti della cerimonia di ieri e la preghiera col Cardinal Koch

Turchia e dintorni

@notizieturchia · Post #3327 · 27.05.2025 г., 12:35

#BeseHozat, la co-presidente del Consiglio esecutivo del #KCK: "#Israele aumenta la sua pressione nel #Medioriente, con l'aiuto degli #USA e dell'#Inghilterra. Queste forze hanno dei seri piani che riguardano anche i curdi. Questi cambiamenti spaventano molto lo Stato turco. In quest'ottica sono stati ripristinati i rapporti con #Ocalan. L'ultimo congresso del #PKK è stato svolto con la sufficiente partecipazione e dirigenza di #Ocalan. Non è possibile rendere pratico lo scioglimento dell'organizzazione senza le basi giuridiche e politiche della trasformazione democratica e senza la libertà di Ocalan. Ad oggi ci risulta che il governo centrale turco abbia l'intenzione di rallentare il processo e farci perdere tempo. Può solo Ocalan chiedere ai militanti di deporre le armi quindi è necessaria la sua libertà. In #Turchia ci sono delle spaccature e del malcontento anche tra i partiti d'opposizione in merito a questo nuovo percorso. Invece le opposizioni devono partecipare molto di più anche per sconfiggere l'attuale governo. Gli scontri armati sono tuttora in corso, non come prima ma in alcune zone ci scontriamo. Nel periodo dell'occupazione di #Rojava c'è stato il sostegno militare della #Germania. Il governo tedesco porta da tempo una politica sporca e cattiva contro i curdi. Finché la Turchia porterà avanti la sua politica di ostilità contro i curdi in #Siria non troverà nessuno spazio. Deve fare pace con i curdi se vuole far parte del nuovo disegno. Dialogare con #AlShara non serve, la Siria sarà sotto il dominio dell'Israele"

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38554 · 06.05.2022 г., 16:10

#Elezioni#RegnoUnito#Amministrative Dati aggregati #Inghilterra, #Scozia e #Galles, 166 consigli scrutinati su 200: #LAB|S&D: 2137 (+104) #CON|ECR: 1161 (-379) #LDEM|RE: 683 (+193) #SNP|G/EFA: 442 seggi (+24) Indipendenti: 437 (-26) #Green|G/EFA: 101 (+59) #PC|G/EFA: 73 (+2) Associazioni dei residenti: 51 (+10) #ScotsGreen|G/EFA: 34 (+15) #Reform|Destra anti-lockdown: 2 (+2) #SDP|Centro-sinistra euroscettico conservatore: 1 (+1) #UKIP|Destra: 0 (-3) @UltimoraPolitics