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

Пребарај: #gallo

当前筛选 #gallo清除筛选
Tutto Elezioni

@tuttoelezioni · Post #1047 · 25.05.2025 г., 09:47

#Italia🇮🇹 #Comunali #Rende A Rende, in provincia di Cosenza, i candidati sono 5. Il centrodestra corre con Marco Saverio #Ghionna, sostenuto da Fratelli d'Italia (#FdI|ECR), Forza Italia (#FI|PPE; senza simbolo), Lega (#LSP|PfE; senza simbolo), Noi Moderati (#NM|PPE|PPCE) e da liste civiche. In ordine sparso, invece, il centrosinistra: - Giovanni #Bilotti è sostenuto dal Partito Democratico (#PD|S&D; senza simbolo) e da 2 liste civiche; - Rossella #Gallo è la candidata del Movimento 5 Stelle (#M5S|LEFT) e di Rifondazione Comunista (#PRC|LEFT); - Sandro #Principe è sostenuto da Partito Socialista Italiano (#PSI|S&D), L'Italia del Meridione e da 4 liste civiche. È candidato anche Luciano #Bonanno, con una lista civica. @TuttoElezioni

Elena Basile Public Channel

@elenabasilepublicchanel · Post #174 · 26.11.2024 г., 16:33

La battaglia dell' informazione è cruciale Fino a che il dissenso contro le guerre in Ucraina e in Medio Oriente, contro la politica neoconservatrice statunitense che è divenuta politica della burocrazia eruropea e dei Governi vassalli asserviti alla finanza, Non riuscirà a raggiungere audience di milioni di spettatori E lascerà la società civile in balia della propaganda e della sottocultura dei media mainstream Poco ci sarà da sperare. Ci sono le tv alternative, youtuber, giornalisti competenti, che dovrebbero federarsi, fare economie di scala Persone come #Santoro che hanno esperienza di decenni nell' informazione potrebbero essere di grande aiuto Bisogna trovare i finanziamenti e le competenze. Unirsi. È triste vedere come anche quelle 3/4 voci ammesse in tv si lascino plagiare. Addirittura si accontentino delle briciole e citino i guru della tv quando danno loro ragione. La propaganda è ovunque in Europa. Peculiare dell' Italia è che i giornalisti come nei 4 cantoni si autoinvitano spostandosi da un talk show all' altro. La direttrice del salone di Roma destinato alle piccole case editrici #chiaravalerio dedica il salone alla Cecchettin Ma cosa c' entra la letteratura con l' atroce femminicidio ? Libercoli illegibili trionfano basta fare soap opere su una ragazza violentata o ammazzata, su un gay che finalmente ritrova la sua sessualità e fa orge a Berlino! La #sottocultura imperante alimenta la propaganda e cancella la #politica I femminicidi si combattono con cultura e apertura mentale non con le soap Si combattono con istruzione e contrasto al degrado, l integrazione e l inclusione dei ragazzi poveri migranti e non La femminista #chiaravalerio che ha ecluso i libri di tanti validi scrittori non conformi alla propaganda del centro-sinistra ( incluso Frammenti di Bruxelles) aiuta quel sostrato incolto che alleva piccoli teppisti Chiudiamo la Tv e leggiamo Oppure guardiamo ricercatori come #Gabellini E tanti altri, #Ottolinatv che non è un covo di rossobruni ma è fatta con pochi mezzi da ragazzi onesti e preparati. Ascoltiamo #canfora#Mini#cardini#Moniovadia#Odifreddi#arlacchi#bradanini#gallo#lavalle e tanti altri e se conosciamo l'inglese o il francese in rete troviamo l ' intellighentia statunitense latinoamericana francese europea. Guardate la vetrina di una libreria che ha rifiutato la presentazione del mio libro pure esposto solo soletto piccolo e meschino tra i tanti cazzulli del mainstream . Divertente e incisiva immagine della disparità di mezzi. Parlo di me ma nelle mie condizioni, autori validi e ignorati, ce ne sono migliaia Ritornare alla ragione alla mediazione alla cooperazione al diritto internazionale alla persona umana, contrastare le belve che oggi massacrano gli innocenti è possibile Stampa e istituzioni in Occidente fanno da eco ai giochi di potere decisi a tavolino dalle oligarchie della finanza , delle armi, dell' energia. #russia #Lebanon2024 #GazaGenocide #MainstreamMedia