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

Пребарај: #gramsci

当前筛选 #gramsci清除筛选
Savino Balzano

@savinobalzano · Post #797 · 04.11.2024 г., 08:07

https://x.com/SavinoBalzano/status/1853347326103822699?t=Rk6Vh2ROhwypKZ-7qi_VEg&s=19 Davvero qualcuno pensa che #Bonelli e #Fratoianni (o #Schlein, che è la stessa roba) possano essere considerati gli eredi di #Gramsci e di #DiVittorio? Chi lo pensa che diavolo si è bevuto? Se c'è una cosa che mi manda letteralmente ai matti è quando qualcuno mi parla di alcuni partiti italiani di oggi, qualificandoli come di #sinistra. Mettiamoci d'accordo su cosa si intende per sinistra contemporanea: se si intende quel pensiero politico che, in un certo momento della sua storia, avendo perso ogni punto di riferimento culturale e ogni visione, ha deciso di abbarbicarsi al neliberalismo europeo come un ubriaco al lampione, allora ok. Viceversa, se avete in testa forze sociali ostinatamente dalla parte dei deboli, di chi non ce la fa, di quelli che non arrivano a fine mese, degli sfruttati, di chi popola le nostre periferie fisiche ed esistenziali, allora siete totalmente fuori di testa. La mia a #5Notizie, #RadioCusanoCampus

Marx21.it

@marx21news · Post #9726 · 11.02.2026 г., 07:52

Viviamo in un'epoca di trasformazioni epocali. Il saggio di Alexander Höbel, in dialogo con il contributo di Liu Haixia, offre una lucida analisi della crisi dell'egemonia occidentale e delle nuove prospettive che si aprono a livello globale. Il vecchio centro del sistema capitalistico, guidato dagli USA, è in declino strutturale. Il nuovo non può ancora pienamente nascere, e in questo "interregno" assistiamo a fenomeni morbosi: ritorno della guerra, posture neocoloniali, ideologie suprematiste e la pericolosa tentazione di esercitare un "dominio senza egemonia". Dall'altra parte, l'ascesa dei BRICS guidati dalla Cina non è solo un cambiamento geopolitico. Rappresenta l'emergere di una logica diversa da quella del capitale finanziario speculativo, orientata allo sviluppo, alla cooperazione e a un nuovo modello sociale: il socialismo con caratteristiche cinesi. Questo modello dimostra nella pratica l'attualità del socialismo. Non è un ritorno al passato, ma un percorso originale che utilizza il mercato in funzione di uno sviluppo complessivo di sistema, mantenendo la proprietà pubblica e la pianificazione come cardini. Per la prima volta dopo decenni, la parola "socialismo" torna nel dibattito pubblico con un'accezione positiva, come progetto capace di affrontare le grandi sfide globali: pace, clima, giustizia. La lotta per un mondo veramente multipolare è oggi la lotta per la pace e per una "comunità di destino condiviso" per l'umanità. È significativo che la leadership cinese ponga al centro la risoluzione dei problemi comuni, a differenza delle classi dirigenti capitalistiche occidentali che mirano a salvare solo sé stesse. Come comunisti e progressisti, abbiamo molto da imparare da questo dialogo. Nonostante le differenze di contesto, esistono significative analogie tra il percorso del PCI e quello del PCC: la ricerca di una via nazionale al socialismo, l'idea di una transizione lunga e complessa, il progetto di un'economia mista con un ruolo egemonico del settore pubblico, la costruzione di una democrazia di tipo nuovo. Il compito oggi è rafforzare lo spirito unitario, la battaglia culturale, i rapporti di massa. Il confronto con i comunisti cinesi può essere prezioso per superare divisioni e soggettivismi. La posta in gioco è alta: il destino dell'umanità e la salvezza della civiltà umana. Un articolo da leggere e su cui riflettere profondamente. #Socialismo#Cina#BRICS#Multipolarità#Occidente#Crisi#Gramsci#Marxismo#Pace#Cooperazione https://www.marx21.it/associazione/declino-delloccidente-e-attualita-del-socialismo/