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

Резултати

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

Пребарај: #diting

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

@xiaomi_12tpro_updates · Post #491 · 26.12.2025 г., 16:38

➤ Device = Redmi K50 Ultra ➤ HyperOS 2.2 Version = 2.0.211.0.VLFCNXM ➤ Android Version = 15 ➤ Number of Update = 5 ➤Region = China 📆26/12/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog: (System) Merged December 2025 security patches to enhance system security *Mi Pilot Release

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #418 · 26.08.2025 г., 17:25

Redmi K50 Ultra / Xiaomi 12T Pro - China Stable - OS2.0.206.0.VLFCNXM (Android 15) 📆2025/08/26 📱#diting 📥Recovery ROM 📝Changelog: [System] Optimization System stability Fix Errors occurred in some cases Updated the security patch to August 2025. Increased system security. 🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XiaomiTime

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #416 · 21.08.2025 г., 04:09

➤ Device = Redmi K50 Ultra ➤ HyperOS 2.2 Version = 2.0.206.0.VLFCNXM ➤ Android Version = 15 ➤ Number of Update = 2 ➤Region = China 📆21/8/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog: (System) Optimization system stability Repair occasional abnormal issues in some scenarios Merged August 2025 security patches to enhance system security *Mi Pilot Release 🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #390 · 14.07.2025 г., 19:36

➤ Device = Redmi K50 Ultra ➤ HyperOS 2.2 Version = 2.0.203.0.VLFCNXM ➤ Android Version = 15 ➤ Number of Update = 1 ➤Region = China 📆14/7/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog: (Accessibility) Fix: Touch gestures stopped working in TalkBack mode Fix: Volume buttons didn't work in TalkBack mode Fix: Issues that prevented Recorder from capturing TalkBack audio Fix: Issues with announcements for unselected items in Calendar and other apps Fix: Some buttons weren't announced in several apps, including Settings, Control center, Messaging, Contacts, Weather, Notes, and Browser (System animations) Optimization: Interrupt animation when entering subpages within apps Optimization: Interrupt animation during app transitions (Status bar, Notification shade) New: Some status bar icons now support custom display (System) Optimization: Immersive effect for full screen indicator in certain scenarios Optimization: Updated styles for some classic pages Optimization: Animation effects when launching apps Optimization: Scrolling performance on content feeds in some third party apps Updated the security patch to June 2025. Increased system security. (Settings) Optimization: Added a shortcut to system navigation settings in Home screen settings (Lock screen) New: Eastern aesthetics lock screen templates *Mi Pilot Release

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #381 · 29.06.2025 г., 00:26

HyperTN | Updates Mod by Thang Nguyen Wed Jun 25 22:17:29 +07 2025 Website: https://www.hypertn.io.vn - Device: Redmi K50 Ultra / Mi 12T Pro - Codename: #DITING - Xiaomi Version: OS2.0.7.0.VLFCNXM - Android: 15 - TN Version: 3.0 (All information) - Language: Add Multilanguage - Rom Type: Only Fastboot - EROFS (VAB) - Encrypted By @nvthang2303 Channel @MiuiTNChannel Group @MiuiTNGroup Tracker @HyperTNTracker

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #357 · 10.06.2025 г., 15:03

➤ Device = Redmi K50 Ultra ➤ HyperOS 2 Version = 2.0.7.0.VLFCNXM ➤ Android Version = 15 ➤ Number of Update = 3 ➤Region = China 📆10/6/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog: (System) Merge the June 2025 security patch to enhance system security *Mi Pilot Release 🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #310 · 14.04.2025 г., 18:35

➤ Device = Xiaomi 12T Pro ➤ HyperOS 2 Version = 2.0.1.0.VLFMIXM ➤ Android Version = 15 ➤ Number of Update = 1 ➤Region = Global 📆14/4/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog:here *Public Release

Hashtags

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #295 · 28.03.2025 г., 14:31

➤ Device = REDMI K50 Ultra ➤ HyperOS 2 Version = 2.0.5.0.VLFCNXM ➤ Android Version = 15 ➤ Number of Update = 1 ➤Region = China 📆28/3/2025 📱#diting 📥Recovery ROM (Mirror) 📝Changelog: (Alive Design Philosophy) Alive Design Philosophy unveils fresh, vibrant design across the whole system, making every interaction feel smooth and alive. All-new Artistic Lock screen: Artistic Lock screen brings new templates and effects inspired by classic designs, giving your device a cinematic look every time you unlock it. All-new Weather Real-time Weather Engine 2.0 shows you the sky and clouds just like in real life - even lets you see rainbows and the Milky Way. All-new Calendar: The new Desktop calendar adds a touch of ritual to your day. All-new Clock: Updated Clock uses a more refined display structure for a more elegant, easy-to-read look. Updated animations: A full-scale animation upgrade makes every interaction flow smoothly and feel stable, responsive, and comfortable. (Xiaomi HyperCore) Xiaomi HyperCore, Xiaomi's proprietary core technology platform, enhances performance, graphics, network, and security. New dynamic memory: New technology allows precise resource allocation, so apps start up faster. Upgraded rendering: Upgraded rendering for multitasking extends battery life. Heterogeneous computing: Enhanced rendering pipeline boosts hardware performance for faster, more efficient visuals. (Xiaomi HyperConnect) Improved device connectivity framework. (Improved Home Screen+) You can drag apps from your phone to Xiaomi tablets or add them as native apps. (Updated multi-device camera) The upgraded multi-device camera allows you to use two cameras simultaneously for live streaming from multiple angles. *Mi Pilot Release

Hashtags

HyperOS Updates Download by XiaomiTime

@miui_download · Post #24890 · 09.05.2026 г., 13:07

Redmi K50 Ultra, Xiaomi 12T Pro - China - OS3.0.2.0.VLFCNXM (Android 15) 📆2026/05/09 #release📱#diting 📥Recovery ROM 📝Changelog: [System] Increased system security. 🔗@xiaomiui | @miui_download | @hyperosfirmware | MemeOS Updates | XimiTime

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #377 · 24.06.2025 г., 04:13

¡New build available! #A15#diting Code Name:diting Device:Xiaomi 12T Pro / Redmi K50 Ultra File Name:xperience-19.1.0-20250623-213918-NIGHTLY-diting.zip File Size:3.3G sha256sum:b9c01d0a5edad1b7a5d545f3a2a777aa9423c7e569392ea8dcbc5201d0f62f61 Downloads: SourceForge | Pling fast download Required Firmware Recovery Maintainer:@TeamMEX_XDA (Kισżż) Install steps: Changelog: - Merge 2025-06-05 SLP (whitout qpr2) - Optimize dalvik and dext2oat - Update translations If you like my work and want to support it please consider making a donation this helps with server costs. Donate PayPal

Hashtags

123•••10•••1920
ПретходнаСтраница 1 од 20Следна