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

Резултати

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

Пребарај: #hdchina

当前筛选 #hdchina清除筛选
PT资讯频道

@PrivateTrackerNews · Post #536 · 27.05.2019 г., 16:06

#HDChina 瓷器 强大的机器人 @hdchina_group_bot 现在允许解除网站用户绑定了,具体请使用/help查看命令详情。 HDChinaGroupManager 命令列表: /enableme - 授予已验证用户发言权限 /help - 显示帮助信息 /letmelogin - 获取登录链接 /release - 解除用户绑定 /showmystats - 显示账户数据 /verify - 验证账户 /whoami - 显示你的个人信息 如果你想换个TG号绑定,可以解除旧号再绑新号;或者不想待在TG群里,解除绑定后会被机器人自动踢出TG群 Powerful robot @hdchina_group_bot Now you are allowed to unbind the site users. Please use /help to view the command details. HDChinaGroupManager Command list: /enableme - grant authenticated user speaking permission /help - display help information /letmelogin - Get the login link /release - unbind user /showmystats - display account data /verify - verify account /whoami - show your personal information If you want to change the TG number binding, you can release the old number and then tie the new number; or you don't want to stay in the TG group. After unbinding, the robot will automatically kick out the TG group.

Hashtags

PT风向旗

@Ptfxq · Post #593 · 26.02.2024 г., 15:53

#HDChina#HDC HDC 是中国境内创立最早、用户规模最大、资源数最多的 PT 站之一,从 2008 年创立至今,期间虽被当局关注过,但均在数据毫无损失的情况下重开了。 在 2023 年 11 月 28 日,HDC 毫无征兆的宕机了,网站和 tracker 均无法访问,Telegram 群组 Bot 也无响应,至今已持续接近 4 个月时间。期间,有群友发现 HDC 群组的多个管理员的 Telegram 账号状态均显示为“last seen a long time ago”,仍在线的管理员一直告诉大家耐心等待,然而并未传递任何具体的消息,人心惶惶。 期间甚至有谣言传出:HDC的站长沉迷原神,关站了。 2024 年 2 月 9 日,HDC 的群组管理员发送了一张截图,均为 tar.gz 文件,不难推测此为服务器的备份文件,振奋人心,站点数据还在。但很快又有 PTer 发现了 HDC 的域名于 2024 年 2 月 26 日过期。 然而,小编发现原本应该在今天(2024.02.26)到期的 HDC 域名被续费了,或许我们很快就能够与 HDC 再次见面。 期待官方的进一步消息并祝好。

Hashtags

PT风向旗

@Ptfxq · Post #318 · 23.08.2022 г., 08:35

#拆门汇总#汇总 由于众所周知的原因,部分内站开始拆门了。本消息作为一个汇总,记录关门的内站,请各位备份自己的cookies,以防失联。 如果失联,可以查看 https://t.me/Ptfxq/32 寻找对应站点的登录方法。 #HDChina #SSD #Ultrahd #Piggo #白兔 #OB #Azusa #烧包#ptsbao #Pterclub #Audiences #HDSky