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

Резултати

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

Пребарај: #opay

当前筛选 #opay清除筛选
Аргунь阿尔贡

@argunriver · Post #609 · 24.05.2024 г., 13:39

⚖️OPay破解人脸技术免费首发🐮 提前购买OPay 防止小黑串通涨价 OPay大部分账户无法更改手机号 牛版 @niuniujun OPay破解人脸技术将在阿尔贡😭频道发布! 🗣特点: ⏺免费首发 ⏺技术开源 ⏺无需越狱 ⏺无需巨魔 ⏺iOS通杀 🗣发布时间: 2024年5月25日 20:00 🗣注意: ⏺提前准备好 🐔 Surge ⏺理论 ⭕️🎈💎 都可使用 ⏺视频教程目前只演示Surge 🗣更多信息: 🐮频道 | 🐮群组 ⛱️标签:#OPay 🌠频道:@ArgunRiver 🌌投稿:@ArgunRiver_bot

Hashtags

Аргунь阿尔贡

@argunriver · Post #612 · 25.05.2024 г., 12:00

🐮 牛版产品 “一直被模仿、从未被超越” 🗣😎 Chipper 强开地址、过人脸 🗣😓 Klasha 破解LV1、LV2 🗣☎️ Moniepoint 过人脸、强制登录、获取信息、同名Klasha、查询KYC文件、旧版无限加卡 🗣⚖️ Opay 过人脸 ⏺使用教程: ⚖️ 安装Opay 3.14.1版本 已签名链接: https://one.machunjie.com/share/%E5%9C%A8%E7%BA%BF%E4%B8%8A%E4%BC%A0IPA%E6%96%87%E4%BB%B6/niuniujun/[email protected] 如果安装后闪退 需要登录一次共享ID 共享ID账户密码: https://t.me/niuniujunChannel/16 🐔 Surge配置好MitM、脚本、重写 安装Opay模块: https://raw.githubusercontent.com/niuniujun-argun/Scripy/main/Opay/Opay.sgmodule 😀 准备好小黑照片,要求上下左右间距相同,人脸居中,不要有截屏痕迹,jpg格式 TG保存的图片默认就是jpg格式 打开链接,将图片转换为编码: https://codebeautify.org/image-to-base64-converter 🔵 观看视频一步一步操作 🅰️ 进入Opay后,可直接升级最新版本Opay 特别鸣谢 敏敏 @sm9076 启发思路 感谢内测组 @ubabashiwo 录制圈X教程 🐮 牛版产品 “一直被模仿、从未被超越” ⛱️标签:#Opay#Klasha#Moinepoint 🌠频道:@ArgunRiver 🌌投稿:@ArgunRiver_bot