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

Резултати

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

Пребарај: #ncp

当前筛选 #ncp清除筛选
Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51544 · 29.12.2025 г., 20:42

🇧🇩#Bangladesh – Il National Citizen Party (#NCP), fondato dagli studenti Gen Z che hanno portato alla caduta dell’ex premier Sheikh #Hasina, si coalizzerà con i partiti islamisti in vista delle elezioni di febbraio. Diversi dirigenti e candidati riformisti si sono dimessi in seguito alla decisione che potrebbe portare il clero islamico al governo. @UltimoraPolitics24

Addis Standard

@addisstandardeng · Post #21419 · 16.02.2026 г., 15:16

News: Former #Sudan PM Hamdok says Islamist factions major obstacle to ending war Abdalla Hamdok, Former Sudanese Prime Minister and head of the Somoud civilian coalition, has said Islamist factions linked to Sudan’s former ruling party are among the main obstacles to ending the country’s nearly three-year civil war, according to a report by Abu Dhabi-based newspaper The National. Speaking to the newspaper on the sidelines of the 39th African Union summit in #Addis_Abeba, Hamdok said Islamist groups and the National Congress Party (#NCP) — the political party of ousted president Omar Al Bashir — remains key actors resisting peace initiatives and efforts to reach a broader national consensus. He also criticized Sudan’s army chief, Gen Abdel Fattah #Al_Burhan, for insisting on a military solution to defeat the rival Rapid Support Forces (#RSF). Al Burhan has publicly ruled out peace.... https://web.facebook.com/AddisstandardEng/posts/pfbid02qycixQfoRJLo5F9EWtxgsymfNbxMqUa9D4Qquz6X3DjfUBUFxig1b3xTGb3MzEHHl

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51919 · 12.02.2026 г., 11:06

🇧🇩#Bangladesh – Oggi oltre 120 milioni di cittadini sono stati chiamati alle urne per rinnovare i 350 seggi del Parlamento, le prime elezioni dopo la deposizione della premier Sheikh #Hasina e la messa al bando della Lega Awami. Si sono sfidati il Partito Nazionalista Bengalese (#BNP) di Tarique #Rahman (rientrato dall’esilio a Londra dopo 17 anni), di centro-destra, per la liberalizzazione dell’economia, vicino alla classe media e all’esercito, e la coalizione guidata dal partito islamista Jamaat-e-Islami (#Jamaat) di Shafiqur #Rahman, che punta a introdurre la sharia nel Paese. La coalizione include il Partito Nazionale dei Cittadini (#NCP), fondato dai leader delle proteste studentesche, ma l’alleanza con gli islamisti è stata fortemente contestata da donne, laici e minoranza indù che avevano sostenuto le proteste. Risultati nelle prossime ore. @UltimoraPolitics24

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38273 · 04.05.2022 г., 09:31

#Sondaggi#NuovaZelanda Sondaggio di Roy Morgan Research: #NAT|ECR: 37,5% (-0,5) #NZLP|Centro-sinistra: 33,5% (+1,5) #GRN|Verdi: 10,5% #ACT|Destra libertaria: 9% (+1) #Māori|Māori di centro-sinistra: 1,5% (-0,5) #NZF|Centro populista: 2,5% (-1,5) #TOP|Centro radicale: 2% (+0,5) #NCP|Destra: 0,5% Data rilevazione: 18 marzo-24 aprile +/-: 28 febbraio-27 marzo Intervistati: 918 @UltimoraPolitics

Libertà è ragione

@libertaeragione · Post #4455 · 11.03.2026 г., 11:11

#Elezioni#Nepal Risultati definitivi: Affluenza: 58,07% (-3,34 rispetto al 2022, proporzionale) #RSP|Centro-sinistra: 182 seggi (+162 rispetto al 2022) #NC|Centro-sinistra: 38 (-51) #CPNUML|Sinistra: 25 (-53) #NCP|Sinistra radicale: 17 (-28) #SSP|Populisti per la democrazia di base: 7 (+7) #RPP|Destra monarchica indù: 5 (-9) Indipendenti: 1 (-2) #PSPN|Centro-sinistra federalista: 0 (-12) #JP|Sinistra del Terai: 0 (-12) #NWPP|Juche: 0 (-1) #RJ|Estrema sinistra anti-federalista: 0 (-1) Totale seggi: 275 Maggioranza: 138 In foto, la mappa del voto. @OsservatorioEsteri

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38319 · 04.05.2022 г., 15:01

#Sondaggi#NuovaZelanda Sondaggio di Newshub-Reid Research: #NAT|ECR: 40,5% (+9,5) #NZLP|Centro-sinistra: 38% (-6) #GRN|Verdi: 8% (-2) #ACT|Destra libertaria: 6% (-2) #Māori|Māori di centro-sinistra: 2,5% (+0,5) #NZF|Centro: 2% (-0,5) #TOP|Centro radicale: 1% (-0,5) #NCP|Destra: 1% "Chi preferiresti come Primo Ministro?" Jacinda #Ardern (NZLP): 36% (-7) Christopher #Luxon (NAT): 24% (+6) David #Seymour (ACT): 5% (-3) Data rilevazione: 18-27 aprile +/-: 22 gennaio-4 febbraio Intervistati: 1000 @UltimoraPolitics