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

Пребарај: #crdroid

当前筛选 #crdroid清除筛选
Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #153 · 12.09.2024 г., 17:15

#crDroid#diting New Version 10/09/2024: Gapped version Download Changelog: Updated to version 10.8 Note: Firmware is NOT included. Credits: Thanks to @TeamMEX_XDA for all his helps and providing dt By@Mohammadnt96

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #120 · 12.07.2024 г., 14:25

#crDroid#diting New Version 11/07/2024: Gapped version Download Changelog: crDroid v10.6 Updated to June security patch Including MiuiCamera Note: Firmware is NOT included. This is beta version. Credits: Thanks to @TeamMEX_XDA for all his helps and providing dt By@Mohammadnt96 Follow@xiaomi_12tpro_updates Join@xiaomi_12tpro_chat

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #84 · 26.02.2024 г., 21:12

#crDroid#diting New Version 25/02/2024: Gapped version Download Changelog: crDroid v10.2 SMS fixed Kernel Switched to HyperOS Used HyperOS blobs Notes: Use latest skkk twrp (v8.6) Credits: Thanks to @TeamMEX_XDA for all his helps and providing dt Discussion: Xiaomi 12T Pro crDroid

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #63 · 02.02.2024 г., 03:40

#crDroid#diting New Version 02/02/2024: Gapped version Download Changelog: crDroid v10.1 fod fixed for both touchscreens miui camera included Known Issues: Opening photo in miui camera Credits: Thanks to @TeamMEX_XDA for all his helps and providing dt Discussion: Xiaomi 12T Pro crDroid

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #17 · 11.11.2023 г., 00:57

#crDroid#Unofficial#diting#A14 Crdroid 10.0 UNOFFICIAL | Android 14 Updated: 11-11-2023 ▪️Download ▪️Support Changelog: • Initial A14 build with oss vendor Notes: Known Issues: Auto brightness must be disabled. otherwise screen will not wake after lock Fod on k50u does not work Credits: Thanks to @TeamMEX_XDA for providing dt By@Mohammadnt96 Follow@xiaomi_12tpro_updates Join@xiaomi_12tpro_chat

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #14 · 10.11.2023 г., 01:58

#crDroid#Unofficial#diting#A13 Crdroid 9.10 UNOFFICIAL | Android 13 Updated: 05-11-2023 ▪️Download ▪️Support Changelog: • Initial Vendor OSS Build Credits: Thanks to @TeamMEX_XDA for providing dt By@Mohammadnt96 Follow@xiaomi_12tpro_updates Join@xiaomi_12tpro_chat

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #374 · 30.07.2024 г., 11:52

CrDroid - Official | Android 14 | Nothing Phone (2) 📝 Details: - Version: v10.6 - Status: #Official - Device: #Pong - Released: 30/07/24 ⬇️ Download: ROM (Vanilla) | Gapps Package 📔 Instructions: Here 🎄 Device tree : Here 📝 Changelogs : Here 🆘 Support: TG | XDA 🏷 Tags: #AOSP#ROM#CrDroid#U ✍️ Note: - Base firmware 2.6.0 is recommended - Dirty flash possible from previous july build - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu Dyavanapelli for DT Base - Hellboy for Meteoric kernel and Glyph changes - Fabian for PA Glyph Implementation 👤 Maintainer: @Ghosutox 🔔 Updates: @NothingPhone2Updates 🐙 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #353 · 15.07.2024 г., 19:46

CrDroid - Official | Android 14 | Nothing Phone (2) 📝 Details: - Version: v10.6 - Status: #Official - Device: #Pong - Released: 15/07/24 ⬇️ Download: ROM (Vanilla) | Gapps 📔 Instructions: Here 🎄 Device tree : Here 🆘 Support: TG | XDA 🏷 Tags: #AOSP#ROM#CrDroid#U ✨Changelogs: - Initial QPR3 release ✍️ Note: - Base firmware 2.6.0 is recommended - Clean flash must - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu Dyavanapelli for DT Base - Hellboy for Meteoric kernel - Fabian for PA Glyph Implementation - Testing Team 👤 Maintainer: @Ghosutox 🔔 Updates: @NothingPhone2Updates 🐙 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #296 · 15.05.2024 г., 14:18

CrDroid - Official | Android 14 | Nothing Phone (2) 📝 Details: - Version: v10.5 - Status: #Official - Device: #Pong - Released: 15/05/24 ⬇️ Download: ROM (Vanilla) | ROM Fastboot | Gapps 📔 Instructions: Here 🆘 Support: TG | XDA 💰 Donate: PayPal | BuyMeACoffee 🏷 Tags: #AOSP#ROM#CrDroid#U ✨Changelogs: - Update to CrDroid 10.5 - Added ParanoidGlyph - Fixed SMS and SIM issue ✍️ Note: - Base firmware 2.5.5 is recommended - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu Dyavanapelli for DT bring up and fix SMS issue - Hellboy017 for kernel - Pong TG Dev & Testing Team 👤 Dev: @DylanAkp 🔔 Updates: @NothingPhone2Updates 🐙 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #242 · 08.02.2024 г., 22:58

CrDroid - Official | Android 14 | Nothing Phone (2) 📝 Details: - Version: v10.2 - Status: #Official - Device: #Pong - Released: 08/02/24 ⬇️ Download: ROM (Vanilla) | Gapps 📔 Instructions: Here 💬 Support Group: Here 🏛 XDA: Here 💰 Donate: PayPal | BuyMeACoffee 🏷 Tags: #AOSP#ROM#CrDroid#U ✨Changelogs: - Initial official build - Firmware removed - Rebased on NOS 2.5.2 - Added Reverse Wireless Charging - Switched to qcom telephony - Added Glyphify (An alternative app to ParanoidGlyph I made, more to come in future updates) ⛔️ Known Issues: - Issue with reception of SMS Enabling and disabling SIM card from settings fix the issue until the next boot ✍️ Note: - Base firmware 2.5.2 is recommended - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu_Dyavanapelli for DT bring up - Hellboy017 for kernel - Przekichane for DT & vendor fixes on A13 » A14 - Pong TG Dev & Testing Team 👤 Dev: @DylanAkp 🔔 Updates: @NothingPhone2Updates 🐙 Chat: @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #226 · 05.01.2024 г., 13:53

CrDroid - Unofficial | Android 14 | Nothing Phone (2) 📝 Details: - Version : v10.x - Status: #Unofficial - Device : #Pong - Released : 04/01/24 ⬇️ Download : ROM (Vanilla) | Gapps 📔 Instructions: Here 📸 Screenshots : Here 💬 Support Group : Here 🏛 XDA : Here 💰 Donate : PayPal | BuyMeACoffee 🏷Tags : #AOSP#ROM#CrDroid#U ✨Changelogs: - Rebased on NothingOS 2.5.1 - Fixed stutters - Fixed Face Unlock - More CrDroid settings implemented - Updated to Android QPR1 (Security patch December 2023) ✍️ Note: - Base firmware 2.5.1 is recommended - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu_Dyavanapelli for DT Bringup - Hellboy017 for kernel - Przekichane for DT and Vendor fixes on A13 » A14 - Pong TG Dev and Testing Team for all help 👤 Dev : @DylanAkp 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #216 · 18.12.2023 г., 14:30

CrDroid - Unofficial | Android 14 | Nothing Phone (2) 📝 Details: - Version : v10.x - Status: #Unofficial - Device : #Pong - Released : 18/12/23 ⬇️ Download : Rom (Vanilla) | Gapps 📔 Instructions: Here 📸 Screenshots : Here 🏛 XDA : Here 💰 Donate : PayPal 🏷Tags : #AOSP#ROM#CrDroid#U ✨Changelogs: - Intitial A14 build based ✍️ Note: - Please be on NOS 2.0.4 before flashing. (Not yet tested from 2.5.1) - Report with logs if you found issues in the comment section below 🏆 Credits: - Chandu_Dyavanapelli for DT Bringup - Hellboy017 for kernel - Przekichane for DT and Vendor fixes on A13 » A14 - Snuvig for early tests - Pong TG Dev and Testing Team for all help 👤 Dev : @DylanAkp 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2

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