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

Пребарај: #marxventuno

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

@marx21news · Post #9672 · 01.02.2026 г., 07:40

È uscito il nuovo “Rapporto annuale sullo sviluppo dei movimenti comunisti internazionali 2022-2023”, pubblicato da MarxVentuno Edizioni in italiano! Il volume, curato dall’Accademia del Marxismo dell’Accademia Cinese delle Scienze Sociali, offre un’analisi approfondita delle dinamiche globali del socialismo, con focus su: - La situazione generale dei movimenti comunisti nel mondo - Le questioni più rilevanti del 2022, tra cui il conflitto russo-ucraino e la “Nuova Guerra Fredda” - Lo sviluppo dei cinque Paesi socialisti esistenti: Cina, Vietnam, Cuba, Corea del Nord e Laos - Le tendenze teoriche e pratiche dei partiti comunisti non al governo - Una selezione dei 50 eventi più significativi dell’anno Un testo fondamentale per chi studia o segue le evoluzioni della teoria e della pratica socialista a livello internazionale. Disponibile ora in italiano e inglese. #ComunismoInternazionale#Socialismo#Marxismo#RapportoAnnual#MarxVentuno#AccademiaCineseScienzeSociali#PoliticaInternazionale#TeoriaPolitica https://www.marx21.it/cultura/i-movimenti-comunisti-internazionali-rapporto-2022-2023/

Marx21.it

@marx21news · Post #9792 · 24.02.2026 г., 07:49

"La controriforma permanente". Un libro che non è solo un libro, ma un atto politico. L'introduzione di Andrea Zirotti alla presentazione pubblica del volume curato da Luca Cangemi, “La controriforma permanente” (edizioni Marx Ventuno). Un lavoro che, in un deserto teorico e politico come quello attuale, merita attenzione e studio. Nel post trovate i punti chiave dell'intervento. Un’analisi che parte da una constatazione semplice: questo libro esiste e questo, già di per sé, è un fatto positivo. Perché? Perché in un'epoca di smarrimento della sinistra e di attacco feroce alla scuola pubblica, qualcuno ha deciso di offrire uno strumento teorico come contributo alla lotta. Un'opera che unisce rigore marxista e esperienza concreta di chi nelle scuole ci lavora e ha vissuto le battaglie. Il cuore del problema: la controriforma permanente Da decenni è in atto uno "scontro prolungato e asimmetrico" sulla scuola italiana. La sua funzione, i suoi fondamenti culturali, la sua costituzione materiale sono stati progressivamente stravolti. Il libro ci aiuta a vedere la foresta e non i singoli alberi: Dalla Costituzione al "capitale umano": La scuola, che secondo l’art. 3 della Costituzione dovrebbe rimuovere gli ostacoli per il "pieno sviluppo della persona umana", è stata trasformata in una fabbrica di competenze al servizio del sistema produttivo. L’offensiva neoliberista: Un processo non casuale, ma spinto da forze concrete (Confindustria, Fondazione Agnelli, UE) che hanno lavorato per decenni per aziendalizzare, gerarchizzare e definanziare l’istruzione pubblica. La nuova frontiera: la guerra: Oggi la fase è cambiata. Si approda alla "scuola come strumento del capitalismo armato". Un passaggio cruciale che, come vedremo, impone una riflessione su militarizzazione, ideologia e libertà di insegnamento. Un libro che parla al presente E che non può ignorare la tragedia che viviamo sotto i nostri occhi: il genocidio del popolo palestinese. Di fronte a questo, la scuola come istituzione tace. Per due anni scolastici, si è potuto entrare in classe e rimuovere l'orrore. Questo silenzio è l’esito della scuola controriformata, spogliata del suo ruolo costituzionale e ridotta a ingranaggio. #ScuolaPubblica#ControriformaPermanente#MarxVentuno#Istruzione#LottaDiClasse#Palestina#Costituzione#TeoriaELotta https://www.marx21.it/italia/unintroduzione-alla-presentazione-pubblica-de-la-controriforma-permanente/