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

Резултати

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

Пребарај: #privatehd

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

@PrivateTrackerNews · Post #542 · 28.05.2019 г., 20:23

#PrivateHD Attention PrivateHD members: PrivateHD is NOT affiliated with any Facebook group. We do NOT have a Facebook page. Any member who uses any Facebook group services will be at their own risk! KAT owner was caught & jailed for using Facebook to collect money for his site. Paypal also has a long running stance against torrent sites and has teamed up with MPAA. Paypal accounts are frozen and any funds in the account are confiscated. Any uploaders found using PHD to further their own agenda to profit/advertise on the site will be banned. You have been warned! PrivateHD会员注意: PrivateHD与任何Facebook群组无关。 我们没有Facebook页面。 使用任何Facebook群组服务的任何会员将自行承担风险! KAT所有者因使用Facebook为其网站收款而被抓获并入狱。 Paypal对于洪流网站也有长期的立场,并与MPAA合作。 Paypal账户被冻结,账户中的任何资金都被没收。 任何使用PHD进一步发展自己的议程以在网站上获利/做广告的上传者都将被禁止。 你被警告了!

Hashtags

PT资讯频道

@PrivateTrackerNews · Post #406 · 06.05.2019 г., 06:43

#PrivateHD#开放申请注册 有著名的官组EPSiLON、HDBEE 官种保种很好,基本免费 看不懂英文的可以谷歌翻译整个网页 具体申请教程可以贴吧搜索 需挂代理,有谷歌验证码 基本要求,有一个3个月以上的其他PT账户,上传量至少500gb,分享率至少1 注意数据截图时不能裁剪,要整个电脑全屏画面 https://privatehd.to/auth/apply

PT资讯频道

@PrivateTrackerNews · Post #911 · 22.09.2019 г., 06:28

2019/09/22 #开放注册 #OpenSignupTracker #国外PT 电报 @PT资讯频道 Telegram @privatetrackernews 新站北欧综合站 Tracker's Name: #Shareuniversity Genre: General Sign-up Link: https://shareuniversity.org/register/ Closing date: 9-28/2019 - 7.00 PM CEST / GMT+2 Additional information: Shareuniversity is a new nordic tracker. We have many groups and we'll guarantee the best content, with nordic subs and audio, all wrapped in a friendly community. 影视综合 Tracker's Name: Tazmania-Den Genre: General Sign-up Link: https://tazmania-den.net/account-signup.php Closing date: Soon! Additional information: Tazmania-Den is a Private Torrent Tracker for Movies / TV / General Releases. 影视综合 Tracker's Name: Milkie Genre: General Sign-up Link: https://milkie.cc/milk/General2019 Closing date: Additional information: A brand new site providing unpacked and 0day/0sec scene content with fast download speeds. Categories: Tv, Series, Movies, Apps, Games, Ebooks, Foreign stuffs. Join us and be part of our community. No rules, just enjoy. #OpenApplicationSignupTracker #开放申请注册 亚洲影视综合 Tracker's Name: #AvistaZ (Open for Application Signup) Genre: General Sign-up Link: https://avistaz.to/auth/apply Closing date: N/A Additional information: AvistaZ (AsiaTorrents) is an Asian Private Torrent Tracker for Asian Movies / TV / General Releases. 高清影视 Tracker's Name: #PrivateHD (Open for application signup) Genre: HD Sign-up Link: https://privatehd.to/auth/apply Closing date: Open for 48-72 hours Additional information: PrivateHD is a Private Torrent Tracker for HD Movies / TV Releases. Requirements At least one of your profiles must meet the following requirements to be considered: 500 GB upload Ratio of 1.0 or greater Account older than 3 months Show you are seeding on your profile proof screenshot Screenshots MUST be uncropped (Editing out passkeys and PIDs is allowed) It can take from a few hours to several days for an application to be reviewed. You need to be patient.