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

Резултати

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

Пребарај: #axionos

当前筛选 #axionos清除筛选
Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #695 · 25.11.2025 г., 08:09

AxionOS - Unofficial | Android 16 | Nothing Phone (2) 📝 Details: - Version: v2.2.1 - Device: #Pong - Released: 25/11/25 ⬇️ Downloads: Link 1 | Link 2 | Link 3 ⚙️ Installation: Here 📖 Changelogs: Here 📸 Screenshots: Here 🏷 Tags: #ROM#AOSP#UnOfficial#AxionOS ✍️Notes: - Gapps is included, do not flash again - Clean Flash Recommended - Use latest NOS 3 firmware - NTcamera, Dolby & SukiSU-Ultra support available 🏆Credits: - Ghost & Chandu for DT - Fabian & HELLBOY for Glyph - HELLBOY for Meteoric Kernel 👤 Maintainer: @pankaj96 💬 Chat: @NothingPhone2 🔔 Updates: @NothingPhone2Updates

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #730 · 14.04.2026 г., 06:42

AxionOS - Official | Android 16 | Nothing Phone (2) 📝 Details: - Version: v2.5 - Device: #Pong - Released: 14/04/26 ⬇️ Download: Gapps | Vanilla 🛟 Recovery: Here 📖 Changelogs: Here 🆘 Support: ROM | Device 💰 Donate: Here 🏷 Tags: #AOSP#ROM#AxionOS#Official#QPR2 ✍️Notes: - Firmware is included! (NOS 4.0) - Full Gapps is included for Gapps build - Dolby is included 🏆Credits: - Ghost and Chandu for DT - Fabian & Ghost & HELLBOY for Glyph 👤 Developer: @Superuser1958 💬 Chat: @NothingPhone2 🔔 Updates: @NothingPhone2Updates

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #689 · 13.11.2025 г., 11:11

AxionOS - Unofficial | Android 16 | Nothing Phone (2) 📝 Details: - Version: v2.2 - Device: #Pong - Type #Gapps - Released: 13/11/25 ⬇️ Downloads: Link 1 | Link 2 | Link 3 ⚙️ Installation: Here 📖 Changelogs: Here 📸 Screenshots: Here 🏷 Tags: #ROM#AOSP#UnOfficial#AxionOS ✍️Notes: - Gapps is included, do not flash again - Passes Basic Integrity by default - Use latest NOS 3 firmware - NTcamera, Dolby & KernelSU-Next support available 🏆Credits: - Ghost & Chandu for DT - Fabian & HELLBOY for Glyph - HELLBOY for Meteoric Kernel 👤 Maintainer: @pankaj96 💬 Chat: @NothingPhone2 🔔 Updates: @NothingPhone2Updates

Oneplus 13 Updates

@OnePlus13Series · Post #384 · 10.04.2026 г., 08:57

AxionOS - Unofficial | Android 16 | Oneplus 13 ✍️ Details: - Version: 16 - Codename: #dodge - Variant: #Gapps - Released: 10/04/26 🔽 Download : ROM 🔖 Tags: #AxionOS#Unofficial#Baklava#ROM#dodge ⚙️Flashing Instructions: - Using SuperHybrid Flasher (recommended) - It also can be flashed through Ofox recovery. ✍️Notes: - Core GApps Included, do not flash again - April Security Patch (QPR2) - Lineage Upstream - Upstreamed kernel - FW 16.0.5.701 ARB !!! - Don't report without proper logs! 🏆Credits: - Chandu_078 - bgcngm - jonassalo93 - danielspringer - jakobBokaj1 - Testers 👤 Maintaner: @einargednochsson 🔔 Updates: @OnePlus13Series 💬 Discussion: @OnePlus13SeriesChatRoom

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #706 · 13.01.2026 г., 12:39

AxionOS - UnOfficial | Android 16 QPR1| Nothing Phone (2) 📝 Details: - Version: v2.3 - Device: #Pong - Released: 13/01/26 ⬇️ Downloads: Link 1 | Link 2 ⚙️ Installation: Here 📖 Changelogs: Here 📸 Screenshots: Here 🏷 Tags: #ROM#AOSP#A16#QPR1#UnOfficial#AxionOS ✍️Notes: - Gapps is included, do not flash again - Clean Flash Recommended - Use latest NOS 4 firmware - NTcamera & Dolby support available - No KSU Support 🏆Credits: - Ghost & Chandu for DT - Fabian & HELLBOY for Glyph - HELLBOY for Meteoric Kernel - Adarsh219 & @Squidguy for Testing Rom 👤 Maintainer: @pankaj96 💬 Chat: @NothingPhone2 🔔 Updates: @NothingPhone2Updates