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

Резултати

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

Пребарај: #tpp

当前筛选 #tpp清除筛选
Торгпредство России в Японии

@tradereprofrussiainjapan · Post #1345 · 17.06.2024 г., 11:30

Японский бизнес выступает за расширение TPP Ключевая бизнес-федерация Японии KEIDANREN опубликовала пакет предложений по улучшению торговой и инвестиционной среды. В частности, федерация расчитывает на расширение состава участников т.н. «Всеобъемлющего и Прогрессивного Соглашения о Транстихоокеанском партнёрстве» (CPTPP), выступает за присоединение к объединению Южной Кореи и Индии. Соглашение CP TPP объединяет 11 стран, которые первоначально учредили Транстихоокеанское партнерство (TPP) в 2016 г. Концепция CP TPP сформировалась после выхода США из объединения в 2017 году и присоединения к нему Великобритании в 2023 году. В предложении Keidanren отмечено, что если Индия, которая является членом структуры QUAD (Япония-США-Австралия-Индия), присоединится к CP TPP, то этот шаг может послужить сигналом для возвращения Соединенных Штатов. В свою очередь, вступление Южной Кореи в CPTPP будет гарантировать, что отношения между ней и Японией, которые значительно улучшились в последние годы, не претерпят повторного отката назад. Помимо этого, ожидается присоединение к CP TPP ряда стран Юго-Восточной Азии – Индонезии, Филиппин и Таиланда. При этом в отношении Китая, также подавшего заявку на членство в объединение, Keidanren предлагает «тщательно проанализировать» ситуацию, связанную с мерами экспортного контроля и обеспечением свободного перетока данных. Также в Keidanren надеются на расширение экономических связей со странами «глобального Юга». #Япония#TPP#CP_TPP#Keidanren

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #426 · 10.09.2024 г., 15:39

The Pixel Project - Unofficial| A14 | Nothing Phone (2) 📔 Details: - Version: 1.2 - Codename: #Pong - Released: 10/09/2024 🔽 Download (Recovery) : Gapps ⚙️ Installation: Here 📸 Screenshots: Here 🆘 Support: Telegram 🔖 Tags : #ROM#TPP#UnOfficial#AOSP#QPR3#U#NothingPhone2 ✍️ Changelogs: - OTG Compatibility Added - September Security Update - Nothing Charging Control Added - Latest Pixel Spoof - Added Pocket Mode - Glyph Improvements ✍️ Note: - Check Screenshots for features available - Dolby Atmos & BCR Included - RCS, Circle to Search Working - GKI Kernel is prepatched with KSU (Download Manager) - Clean flashing is recommended 🏆 Credits - Chandu for base device tree & Kernel - OC'D,Miki,Unluck & Ghost for all help - Fabian & Hellboy for PA Glyph Implementation - Testers 😎 Maintainers: @AgBKartikey 🔔 Updates: @NothingPhone2Updates 💬 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #400 · 17.08.2024 г., 14:15

The Pixel Project - Community | A14 | Nothing Phone (2) ✍️ Details: - Version: 1.1 - Codename: #Pong - Released: 17/08/2024 🔽 Download : Builds ⚙️ Installation: Here 📸 Screenshots: Here 🆘 Support: Telegram 🔖 Tags : #ROM#AOSP#Community#PixelProject#TPP#QPR3#U#NothingPhone2 📝 Changelogs: - Updated Pif to Meet Device Integrity Again ✍️ Note: - Kernel is prepatched with KSU - Dirty Flash will work from previous build 🏆 Credits - Chandu for base DT, Kernel - OC'D, Miki, Unluck & Ghost for all help - Hellboy for Dolby - Fabian & Hellboy for PA Glyph 😎 Maintainer: @Kartikey 🔔 Updates: @NothingPhone2Updates 💬 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #399 · 16.08.2024 г., 07:25

The Pixel Project - Community | A14 | Nothing Phone (2) ✍️ Details: - Version: 1.1 - Codename: #Pong - Released: 16/08/2024 🔽 Download : Recovery | Fastboot (Needed?) ⚙️ Installation: Here 🔗 Changelogs: Here 📸 Screenshots: Here 🆘 Support: Telegram 🔖 Tags : #ROM#AOSP#Community#PixelProject#TPP#QPR3#U#NothingPhone2 ✍️ Note: - Kernel is prepatched with KSU - Clean flashing is recommended - READ CHANGELOGS ‼️ Known Bug - None (You tell I fix => Stable) 🏆 Credits - Chandu for base DT, Kernel - OC'D, Miki, Unluck & Ghost for all help - Hellboy for Dolby - Fabian & Hellboy for PA Glyph 😎 Maintainer: @Kartikey 🔔 Updates: @NothingPhone2Updates 💬 Chat: @NothingPhone2

Libertà è ragione

@libertaeragione · Post #4456 · 12.03.2026 г., 11:21

#Elezioni#Thailandia Risultati definitivi: Affluenza: 71,43% (-4,28 rispetto al 2023) #BJT|Destra populista: 192 seggi (+121 rispetto al 2023) #PPLE|Centro-sinistra: 120 (-31) #PTP|Centro-destra populista: 74 (-67) #KT|Centro-destra localista: 58 (+58) #DP|Centro-destra: 21 (-4) Altri: 8 #TRP|Centro populista progressista: 6 (+4) #PPRP|Destra militarista: 5 (-35) #PCC|Centro: 5 (-4) #ECON|Estrema destra libertaria: 3 (+3) #TST|Conservatori progressisti: 2 (-4) #UTN|Destra militarista: 2 (-34) #NDPT|Centro-sinistra: 1 #NOP|Centro-destra monarchico: 1 (+1) #TLP|Centro anti-militarista: 1 #TPP|Estrema destra monarchica: 1 (+1) #TTPP|Centro-sinistra: 0 (-1) #PTC|Centro-destra localista: 0 (-1) #FA|Centro: 0 (-1) Totale seggi: 500 Maggioranza: 251 In foto, la mappa del voto. @OsservatorioEsteri