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

Резултати

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

Пребарај: #emiliaromagna

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

@ULTIMORAPOLITICS · Post #43446 · 04.05.2023 г., 20:49

La giunta regionale dell’#EmiliaRomagna con presidente #Bonaccini e vicepresidente #Schlein ha restituito fra il 2021 e il 2022 al ministero delle Infrastrutture 55,2 milioni di euro di un finanziamento di 71,9 milioni di euro ricevuto dallo Stato per la manutenzione…

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43443 · 04.05.2023 г., 18:21

La giunta regionale dell’#EmiliaRomagna con presidente #Bonaccini e vicepresidente #Schlein ha restituito fra il 2021 e il 2022 al ministero delle Infrastrutture 55,2 milioni di euro di un finanziamento di 71,9 milioni di euro ricevuto dallo Stato per la manutenzione e la messa in sicurezza dei corsi di acqua della Regione. (Open) @UltimoraPolitics

Libertà è ragione

@libertaeragione · Post #4285 · 10.11.2024 г., 13:35

#Italia#Regionali#EmiliaRomagna Il 17 e il 18 novembre si voterà per l'elezione del Presidente della Regione Emilia-Romagna e il contestuale rinnovo dei 50 consiglieri regionali (contemporaneamente con l'Umbria) eletti all'interno dei 9 collegi regionali corrispondenti alle 9 province. Si voterà dalle 7 alle 23 di domenica 17 e dalle 7 alle 15 di lunedì 18. Il Presidente è eletto in un unico turno: basta la maggioranza relativa dei voti per poter essere eletti e gli sarà assicurata una maggioranza di almeno 27 seggi. Lo sbarramento è fissato al 3% per le liste coalizzate e al 5% per le liste non coalizzate. La Regione è sempre stata la roccaforte prima della sinistra e oggi del centrosinistra e secondo i sondaggi dovrebbero vedere confermata l'amministrazione uscente. La Presidente in carica è Irene #Priolo (#PD|S&D), facente le veci del Presidente eletto Stefano #Bonaccini (PD) a gennaio 2020 con il 51% dei voti che si è dimesso per entrare in carica come europarlamentare. @OsservatorioItaliano

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #45013 · 24.07.2024 г., 08:07

Autonomia, via libera alla richiesta del referendum. #Campania, #Toscana, #Sardegna, #Puglia ed #EmiliaRomagna hanno approvato in consiglio regionale gli stessi provvedimenti: il quesito che intende abolire interamente la norma e l'altro per la modifica parziale. I delegati delle regioni presenteranno i quesiti alla Corte Costituzionale. (Ansa) @UltimoraPolitics

Savino Balzano

@savinobalzano · Post #396 · 23.05.2023 г., 11:04

Il PNRR non può essere utilizzato per aiutare l'Emilia Romagna. Cerchiamo di quantificare il disastro. Danni per almeno 5/6 miliardi di euro: circa 15 milioni di piante da estirpare (per realizzare un ettaro di frutteto ci possono volere 50 mila euro); mille aziende in crisi e quattrocento allevamenti alluvionati; cinquantamila posti di lavoro a rischio. Ci vorranno cinque anni per raccogliere qualche frutto da un albero nelle zone colpite. Saranno 400 milioni i kg in meno di grano nel mercato nazionale e mancherà il 20% della frutta. L'effetto: saliranno i prezzi di questi beni essenziali e a pagare saranno i più deboli. Il PNRR però si potrà utilizzare per investire in armi, anche grazie al voto favorevole di quasi tutti i nostri partiti politici. Giudicate voi. La mia al TG Plus di Cusano Italia TV #alluvioneemiliaromagna#alluvione#emiliaromagna#politica#italia#televisione#informazione#giornalismo#PNRR#UnioneEuropea

Savino Balzano

@savinobalzano · Post #751 · 19.09.2024 г., 18:40

https://x.com/SavinoBalzano/status/1836837611845074949?t=zUTmU8s5R3-XF9mHDYQtMw&s=19 La drammatica #Alluvione viene ovviamente imputata agli epocali cambiamenti climatici del nostro tempo. Credo sia una bella paraculata, utile a nascondere l'assoluta incapacità di certi amministratori, a partire da #Bonaccini, che non hanno fatto assolutamente nulla per prevenire questo disastro. Anzi. Attendo che compaiano in tv con la solita felpina della protezione civile a fare gli eroi. La verità è che episodi come questi, nella loro tragicità, vengono strumentalizzati per spingere a tavoletta la folle ideologia #green, da scaricare ovviamente sulle spalle dei poracci: credo che sul punto l'ex Presidente dell'#EmiliaRomagna saprà fornire il suo dotto contributo dalle democraticissime istituzioni dell'#UE. La mia a #5Notizie, #RadioCusanoCampus. #alluvioneromagna#alluvioneemiliaromagna

Savino Balzano

@savinobalzano · Post #814 · 19.11.2024 г., 08:58

https://x.com/SavinoBalzano/status/1858796809008660926?t=zoW1JPySaEFK3hgRxcxNgg&s=19 Solo due numeri sulle elezioni regionali perché quello che leggo ha del surreale: va bene tutto, ma il metro deve essere lo stesso. In #Umbria i votanti passano da 455.000 a 366.000 e, dunque, l'affluenza cala dal 65% al 52%. Nel 2019 a #Tesei servirono 255.000 voti per vincere. Ieri a #Proietti ne sono bastati 182.000. Lo sconfitto del 2019 (Bianconi) di voti ne prese 166.000. Questo per dire che non c'è stato alcun plebiscito e la spazzatura che si legge in giro (tipo «non ci hanno visto arrivare») è semplicemente comica. Gli umbri hanno punito l'amministrazione uscente che evidentemente non ha convinto, ma il loro disappunto lo hanno espresso restando a casa. Questi sono i numeri, nessun «avanti popolo, alla riscossa!». In #EmiliaRomagna, i votanti passano da 2.400.000 a 1.600.000: un vero e proprio bagno di sangue. L'affluenza passa dal 68% al 46%: un salasso allucinante. Qui il vincitore #DePascale ha preso 922.000 voti: non solo sono meno di quanti ne prese #Bonaccini, ma sono persino meno di quanti ne prese Borgonzoni (1.014.000) che nel 2020 fu sconfitta. Che vuol dire? Semplicissimo: l'amministrazione uscente è stata massacrata dall'#astensionismo, letteralmente fustigata. Anche qui, dunque, rispetto assoluto per il risultato e augurio di buon lavoro al Presidente, ma nessuna «bandiera rossa trionferà!». Cerchiamo di essere seri, un minimo. L'astensione per me è da sciocchi (anche perché rattrista, ma conta 0 da tutti i punti di vista), ma abbiamo due sole possibililità (sempre se vogliamo essere seri): o vale niente, sempre, o la si considera, sempre.

12
ПретходнаСтраница 1 од 2Следна