@ITmastersuz · Post #11664 · 28.09.2024 г., 04:56
S24 vs 15 Pro Max batareya sinovi 🔥 🔥 - Samsung S24 👍 - iPhone 15 Pro Max 👉Bizning barcha loyihalar | #testing
Hashtags
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
Пребарај: #testing
@ITmastersuz · Post #11664 · 28.09.2024 г., 04:56
S24 vs 15 Pro Max batareya sinovi 🔥 🔥 - Samsung S24 👍 - iPhone 15 Pro Max 👉Bizning barcha loyihalar | #testing
Hashtags
@momogram_update · Post #1285 · 16.04.2026 г., 03:57
#testing v12.6.4 cb9a1daa95 r1128 Fixed: - Content in ChatEditTypeActivity not aligned Misc: - APK signature changed - nekox.messenger.broken is now momo.gram Note: In general, secret chats will be lost when you switch between apps starting from the last build. Momogram contains a secret chat backup/restore helper that can partially mitigate this problem. The contents of secret chats can be migrated to the new Momogram release (view-only; you still have to create a new secret chat for future messages). Note that this functionality isn’t guaranteed. Make sure you don’t uninstall the old build before confirming the content is properly restored on the other side. Steps to migrate: - Open Momo account settings with previous build - Tap on "Backup Secret Chats" - Enter a password - Share it to yourself (Saved Messages) - Install this build - Tap on the file you shared to yourself - Enter the password you specified earlier and press OK PS. While the exported backup is always encrypted, it's advised to delete the backup as soon as you done with the migration. PPS. To prevent issues, the backup file created is restricted to be used with the same upstream version, try to restore on a different version will be resulted in decrypt error
Hashtags
@momogram_update · Post #1275 · 10.04.2026 г., 13:04
#testing v12.6.4 899700cb58 r1127 Fixed: - A typo in Momo settings - Duplicated share button in custom tab UI for certain browsers - (unverified) Random ANR & crash fix
Hashtags
@momogram_update · Post #1264 · 07.04.2026 г., 13:08
#testing v12.6.4 6a8da4a514 r1126 Added: - Randomize attached file name (Note. names of files with existing cache won't be randomized) - Hide AI button in edit text field Fixed: - Details button not showing for some messages - Repeat scheduled message not hidden for non-premium users - New Telegram translate UI (TranslateAlert3)
Hashtags
@momogram_update · Post #1259 · 07.04.2026 г., 02:58
#testing v12.6.4 02a7c23ae6 r1126 First 12.6.4 test build
Hashtags
@momogram_update · Post #1254 · 06.04.2026 г., 15:17
#testing v12.6.3 013d69a41f r1125 First 12.6.3 test build Added: - Disable pull down to show search bar at chat list (thx Nagram) Misc: - Abandon outdated local Chinese translations (replaced with official beta language pack)
Hashtags
@momogram_update · Post #1244 · 03.04.2026 г., 15:02
#testing v12.5.1 b043950be7 r1124 Added: - Active session checker to check if there's active session of potentially malicious clients (Please consider share API ID from experimental settings if you get the warning message) Fixed: - Passkey login for Bitwarden (Thx Nagram) - Edit/Promote admin in groups
Hashtags
@momogram_update · Post #1231 · 25.03.2026 г., 14:42
#testing v12.5.1 f5caf040d5 r1122 Test fix for some(conditions unconfirmed) uploaded video being not playable on Telegram Android clients
Hashtags
@momogram_update · Post #1226 · 20.03.2026 г., 13:33
#testing v12.5.1 20d242db28 r1122 ffmpeg 7.1.3 + dav1d 1.5.3
Hashtags
@momogram_update · Post #1208 · 10.03.2026 г., 13:35
#testing v12.5.1 867e63e69e r1121 First 12.5.1 test build
Hashtags
@momogram_update · Post #1193 · 23.02.2026 г., 09:47
#testing v12.4.1 6ecd8a6547 r1120 Added: - Hide bottom navigation tabs (Special Thanks: tehcneko) Fixed: - Send button size/position in chat list when forwarding Misc: - Close search settings by taping on bottom tab - Move appearance settings to a separate page - Show proxy in chat list menu
Hashtags
@momogram_update · Post #1188 · 21.02.2026 г., 10:40
#testing v12.4.1 339a548ad2 r1119 Added: Switch account by long click on title Basically usable now, may still have some minor bugs, but most annoying glitches were fixed, thanks for everyone helped testing
Hashtags