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

Резултати

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

Пребарај: #android15

当前筛选 #android15清除筛选
Android Broadcast

@android_broadcast · Post #9282 · 27.06.2025 г., 04:52

🤖Android принудительно запрещает делать запросы в сеть в фоне вне жизненного цикла приложения Теперь если вы делаете сетевой запрос при уходе приложения в фон, когда вы не используете WorkManager или Foreground Service, то такой запрос будет остановлен с исключением UnknownHostException (стандартно выбрасывается если нет сети или сервер невозможно найти) или другой IOException. ✔️ Ранее, пока был жив процесс приложения, можно было успеть выполнить запросы. Я отмечу изменений как положительное для пользователей и общего состояния устройства. Google форсирует переход разработчиков API, предназначенные для определенных целей и слежением за выполняемой работой. Изменение применяется на Android 15 и выше для всех приложений с targetSdk=35+ Источник тут #android15

Hashtags

Android Broadcast

@android_broadcast · Post #8967 · 15.04.2025 г., 14:52

🤖Google повысила требования сертификации для устройств на Android 15 Теперь все устройства на Android 15 и выше должны иметь не меньше 32 Гб памяти на диске и не меньше 75% из них должны быть свободно под data раздел #android15

Hashtags

Android Broadcast

@android_broadcast · Post #9488 · 09.09.2025 г., 10:37

📹 НОВОЕ ВИДЕО. Разбор возможностей меню разработчика на Android устройстве Меню Android разработчика таит в себе много полезных настроек, которые нужны, чтобы качественно протестировать работу приложения на устройстве и сделать то, что не получится делать из Android Studio. Советую посмотреть всем разработчикам и специалистам по тестированию #android#android15

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #384 · 05.07.2025 г., 01:27

New Release of Project Infinity X v2.9 for Xiaomi 12T Pro / Redmi K50 Ultra (diting) is Up! By Jezzay97 ▫️ Variant: GAPPS (Google Apps Included) ▫️ File: Project_Infinity-X-2.9-diting-20250704-2051-GAPPS-OFFICIAL.zip ▫️ Size: 2.43 GB ▫️ Date: 5th July 2025 ▫️ MD5: ace3b92d71404269f4ca53fac267aeed ▫️ Donate: PayPal | Ko-fi ⭐ Wanna have a look at some ROM Screenshots? - Click Here 💬 Reach Support If have any queries - Click Here #Android15#diting@ProjectInfinityX

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #375 · 19.06.2025 г., 02:45

New Release of Project Infinity X v2.9 for Xiaomi 12T Pro / Redmi K50 Ultra (diting) is Up! By Jezzay97 ▫️ Variant: GAPPS (Google Apps Included) ▫️ File: Project_Infinity-X-2.9-diting-20250618-1602-GAPPS-OFFICIAL.zip ▫️ Size: 2.47 GB ▫️ Date: 19th June 2025 ▫️ MD5: 5f8dfadb619f83c771a9edd284df4824 ▫️ Donate: PayPal | Ko-fi ⭐ Wanna have a look at some ROM Screenshots? - Click Here 💬 Reach Support If have any queries - Click Here #Android15#diting@ProjectInfinityX

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #367 · 11.06.2025 г., 05:22

New Release of Project Infinity X v2.9 for Xiaomi 12T Pro / Redmi K50 Ultra (diting) is Up! By Jezzay97 ▫️ Variant: GAPPS (Google Apps Included) ▫️ File: Project_Infinity-X-2.9-diting-20250611-0235-GAPPS-OFFICIAL.zip ▫️ Size: 2.48 GB ▫️ Date: 11th June 2025 ▫️ MD5: 71993dd343f141461a2ac7dbd3fb11b5 ▫️ Donate: PayPal | Ko-fi ⭐ Wanna have a look at some ROM Screenshots? - Click Here 💬 Reach Support If have any queries - Click Here #Android15#diting@ProjectInfinityX

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #311 · 29.05.2024 г., 06:53

👩‍💻Android 15 Official Developer Preview (Beta -1) is here for Phone (2)! ❗️DIsclaimer: - This build of Android 15 is still in an early stage of development and some features might be missing or not working. The build is primarily for developers and other advanced users. Installation is not recommended for ordinary users. - This is not Nothing OS! - Your device storage will be formatted, and all of your data will be erased. Take backup before proceeding! - Users must be on NOS 2.5.5 (Build No: Pong-U2.5-240418-1248 OR Pong-U2.5-240419-0138 - IND/EEA/GLO/JPN) before installation - Once the rollback package is used, reverting to Developer Preview is not possible. - Future betas are exclusive to pixel devices only. - Bootloader unlocked users can rollback / update by flashing the stock rom directly via fastboot ⚠️ Issues: - Fingerprints can’t be registered - Face unlock unavailable - No pre-installed Nothing X/Weather/Launcher/Recorder/Widgets 🔽 Download: Incremental update over 2.5.5 Build No. [ Pong-U2.5-240418-1248 | Pong-U2.5-240419-0138 ] | Rollback Package ✍️ Feedback Link: Here ⚙️ Instructions: Here 🔖 Tags: #Android15#Android#Nothing#NothingPhone2 🔔 Updates: @NothingPhone2Updates 💬 Chat: @NothingPhone2

Android Broadcast

@android_broadcast · Post #9497 · 12.09.2025 г., 13:01

🤖Важность HDR в приложениях для передачи естественных цветов Почитал интересную статью от Google про важность использования HDR. Самое важное - HRD не только про яркость, а именно про правильность передачи цветов в приложениях, особенно когда дело касается фото. В Android 15 появилось API для контроля того смешивания HDR и SDR контента: // Требуется, чтобы Windows учитывало желаемый HDR headroom. // Обратите внимание, что эквивалентный API в SurfaceView НЕ требует // COLOR_MODE_HDR для ограничения headroom, // если на SurfaceView отображается HDR-контент. window.colorMode = ActivityInfo.COLOR_MODE_HDR // разные значения headroom могут // использоваться в зависимости от // желаемого headroom контента // И особенностей UI-дизайна приложения. window.desiredHdrHeadroom = when { /* только SDR */ -> 0f /* Смешанный, в основном SDR */ -> 1.5f /* Смешанный, в основном HDR */ -> 3f /* только HDR */ -> 5f else -> 0f } #android#hdr#android15

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #334 · 28.06.2024 г., 13:40

👩‍💻Android 15 Official Developer Preview | Beta 2 | Nothing Phone (2) ❗️DIsclaimer: - This build of Android 15 is still in an early stage of development and some features might be missing or not working. The build is primarily for developers and other advanced users who wanna test their app compatibility with A15. Installation is not recommended for ordinary users. - This is not Nothing OS! - Your device storage will be formatted, and all of your data will be erased. Take backup before proceeding! - Once the rollback package is used, reverting to Developer Preview is not possible. - Future betas are exclusive to pixel devices only. - Bootloader unlocked users can rollback / update by flashing the stock rom directly via fastboot ⚠️ Issues: - Using recorder to play audio keeps crashing - Settings crash sometimes - No pop-up notification when low battery (<10%) - No Glyph Menu in Settings - No vibration effect - Face unlock/Fingerprint/App Locker/Clone apps/Pop-up view does not work 🔽 Downloads: Incremental update over : NOS 2.5.6 | Dev Preview (Beta- 1) ⚙ Rollback Package: Here ✍️ Feedback Link: Here ⚙️ Instructions: Here 🔖 Tags: #Android15#DeveloperPreview#NothingPhone2 🔔 Updates: @NothingPhone2Updates 💬 Chat: @NothingPhone2

APC - Android Ports Cloud

@apcports2 · Post #1189 · 01.10.2024 г., 07:40

Android 15 is finally here! 🎉 Get ready for a wave of new ports, including hyperOS2.0! 📱 I will also porting all moto, one ui, Oxygen/ColorOS as soon as possible when they will arrive. And guess what? They'll all be non-root! 🙌 Share the news and help us keep the project alive by sending stars! 🌟#Android15#NewPorts#NonRoot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #267 · 22.02.2025 г., 19:13

#OrionOS#Hydroxide#diting#Android15#V OrionOS v15.1 Hydroxide | UNOFFICIAL Release Date:22/02/2025 ▪️Download ▪️Screenshots Notes: • Fingerprint fixed? • Play integrity passed by default • Gapps and fw included Credits: Thanks to @Mohammadnt96 and @TeamMEX_XDA By@Jezzay97 | Donate Follow@xiaomi_12tpro_updates Join@xiaomi12tpro_chat

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