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

Пребарај: #patriottismo

当前筛选 #patriottismo清除筛选
Marx21.it

@marx21news · Post #9690 · 04.02.2026 г., 15:38

Celebrando l’arrivo del 2026, il leader della RPDC, Kim Jong Un, ha tenuto il tradizionale discorso di Capodanno a Pyongyang. Nel suo intervento, ha rivolto calorosi auguri al popolo coreano, ai soldati dell’Esercito Popolare e ai compatrioti all’estero, ringraziandoli per il duro lavoro e i sacrifici dell’anno passato. Il 2025 è stato descritto come un anno di grandi traguardi, durante il quale lo sviluppo equilibrato del socialismo ha superato con successo la sua prima fase. Un ringraziamento speciale è stato rivolto ai lavoratori di tutti i settori, dagli operai agli agricoltori, dagli atleti agli intellettuali, per il loro patriottismo e dedizione. Il discorso ha sottolineato la forza dell’unità nazionale e la fiducia nel futuro. Il 2026, indicato come un anno di lotta più strenua ma anche di vittorie ancora maggiori, sarà guidato dalle direttive del IX Congresso del Partito. Il messaggio si conclude con un appello a unirsi per avanzare con coraggio verso un futuro prospero, invocando amore, armonia e felicità per tutte le famiglie. Un forte grido di “Lunga vita alla Repubblica Popolare Democratica di Corea!” ha chiuso la celebrazione. #Corea#RPDC#KimJongUn#Capodanno2026#DiscorsoCapodanno#SviluppoSocialista#Unità#Patriottismo#IXCongressodelPartito https://www.marx21.it/comunisti-oggi/discorso-di-kim-jong-un-alla-celebrazione-di-capodanno/

Savino Balzano

@savinobalzano · Post #853 · 03.01.2025 г., 14:38

https://x.com/SavinoBalzano/status/1875189598319456657?t=9a5eG0px6X75k25wrqeDYg&s=19 So che è trascorso qualche giorno e il tema non è putroppo più al centro del "dibattito pubblico" (vorgolette più che necessarie: è un mero teatrino, uno spanato gioco delle parti). Ad ogni modo ci tenevo a dire che a me il discorso del #CapoDelloStato non è piaciuto per nulla. Ci tengo a dirlo, non tanto per il discorso in sé, che tanto una volta all'anno ti levi il dente e passa la paura, quanto per la reazione allucinante che ogni volta ci riservano la #politica, l'#informazione e tutto il cucuzzaro. Insomma, a voi pare credibile che le parole del #PresidenteDellaRepubblica, ogni santa volta, piacciano proprio a tutti? possibile che, anche come mero incidente statistico, non ci sia mai nessuno che dica: «fermi un attimo! a me l'intervento di fine anno dal #Quirinale è sembrato la solita sagra di semplicistiche banalizzazioni, la solita predica, il solito sermone stucchevole farcito di politicamente corretto!»? Ed ecco che arriviamo, ancora una volta e anche in questa circostanza, a ragionare della qualità della nostra #democrazia: noi, esponenti assai periferici e poco rilevanti di ciò che definiamo #Occidente, così boriosi nel proclamarci culla della democrazia, in realtà in merito ad essa ragioniamo troppo poco. Eppure il discorso di #Mattarella si sarebbe prestato a una quantità enorme di critiche. Il sunto? "Ha stato #Putin". Una roba che ormai non crede più nessuno, forse qualcuno nel #PD e nelle sue scorie stoccate in ciò che si definisce #Centro: «sono spiacente per le liste d'attesa negli ospedali e mi spiace si debba investire in armamenti, ma ha stato Putin e potrebbe attaccare altri (?!) Paesi europei». Nemmeno un briciolo di autocritica, nemmeno un barlume di messa in discussione: la plastica dimostrazione del più totale fanatismo. Nonostante nello stesso discorso si citi #PapaFrancesco, che sul punto avrebbe avuto decisamente da ridire. E poi, il #SergioMattarella che indugia sul #patriottismo, nulla ha da dire su ciò che rende alternative le spese della #difesa a quelle della #sanità? si, insomma, se i soldi non bastano per entrambe ci dovrà essere pure un motivo. Possibile che in tutto questo le regole dell'#eurozona non c'entrino nulla e non meritino alcuna riflessione di sorta? La #precarietà e i #MortiSulLavoro, che ad esempio lo affliggono, perché caratterizzano il nostro mercato del #lavoro ormai da decenni? cosa ha dato origine alla deflazione interna che ne è la madre? Il discorso del Capo dello Stato rispecchia pienamente il nostro tempo: semplificazione estrema, banalizzazione, propaganda politicamente corretta. Il tutto condito con diverse stilettate palesi alla maggioranza di #governo. Questa è la verità: il Presidente della Repubblica rappresenta nel #Paese, da tempo, il garante della compressione dello spazio politico e, dunque, della democrazia. Il tutto in favore di apparati (più d'uno) e forze politiche (principalmente una) totalmente votati alla #tecnocrazia, al #PilotaAutomatico, al #VincoloEsterno (anzi, ai vincoli esterni). Però succede sempre uguale: se anche decidesse di ruttare a reti unificate il 31 di dicembre, il giorno dopo si sprecherebbero le parole di apprezzamento, le leccate di culo. Questa è la verità: siamo in presenza di una vera e propria emergenza democratica (la vera emergenza!) e da essa deriva l'emergenza sociale: nascono dalla crisi della #democrazia e dal declino del Quirinale. In tutto ciò, purtroppo, la #Costituzione non c'entra nulla: è ridotta a un velo, ipocritamente steso a malcelare una situazione divenuta spudoratamente indecente.