@Ptfxq · Post #167 · 05.04.2021 г., 03:57
#KG 对满足条件的用户发放1个邀请。 原文:https://telegra.ph/Invites-for-long-term-seeders-04-05
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
Пребарај: #kg
@Ptfxq · Post #167 · 05.04.2021 г., 03:57
#KG 对满足条件的用户发放1个邀请。 原文:https://telegra.ph/Invites-for-long-term-seeders-04-05
Hashtags
@Ptfxq · Post #554 · 26.01.2024 г., 22:08
#KG#站免 KG Sitewide freeleech active! Ends in 8d 22h 53m
@Ptfxq · Post #258 · 28.01.2022 г., 04:39
#KG#站免 KG 现已开启站免,直至 2022.02.06 18:00(农历正月初六),感谢群友提供消息!
@Ptfxq · Post #62 · 29.01.2021 г., 14:21
#KG#站免 update:已结束。
@Ptfxq · Post #694 · 02.08.2024 г., 05:41
#KG#PTP PTP在KG开设官窑 要求如下 Members of Karagarga that have an unwarned account that is older than two years, and fulfill at least one of the below requirements, are eligible to request an invite. ▪ At least 50 uploads (25 of which must be movies) ▪ At least 10 completed subtitle pots ▪ VIP or staff tldr: 满足要求你肯定已经进了,没进你也不满足要求,也大概率满足不了要求 感谢群友投稿
@Ptfxq · Post #490 · 28.11.2023 г., 08:59
#KaraGarga#KG KG History & Memory subforum We have gathered together KG history related forum posts in a new subforum for your convenience. Pay it a visit and learn more about our past.
Hashtags
@Ptfxq · Post #375 · 14.10.2022 г., 22:00
#karagarga#KG The Pot The pot system has been functioning well for more than a decade now, big thanks to all subtitlers and pledgers. Please check if you have claimed any pots. Go to your profile, and after Pot Pledges click on (claimed pots). If you are working on a pot, leave a comment there about progress, and update that post at least every 3 months. If not, cancel your claim. A dormant claim can discourage a potential subtitler. Also, please keep an eye from time to time on pots you started or pledged to (see Pot Pledges in your profile). If good subtitles appeared in the meantime, report that pot with a link to the subs. If you want to subtitle a film for which the pot has been claimed long ago without any news, please contact one of us (corvusalbus, flipflink, cyzs, musiclova). Happy subtitling and viewing!
Hashtags
@aadaili · Post #14628 · 23.04.2026 г., 13:21
#KG#cfm#范围 2026-04-22 21:46:46 游戏:穿越火线枪战王者 KG公益裸奔范围 无任何卡密验证 使用root设备 给777权限 大厅界面执行
@Ptfxq · Post #976 · 07.02.2026 г., 03:43
#KaraGarga#KG#站点免费 站免 9 天 同时 BHD 在 KG 开设了官方邀请,要求为账号年龄两年、pu 等级和有一个发种。
Hashtags
@Ptfxq · Post #847 · 31.01.2025 г., 19:29
#karagarga#KG#站点免费 Sitewide freeleech active! Ends in 8d 20h
Hashtags
@Ptfxq · Post #501 · 11.12.2023 г., 09:00
#Karagarga#KG#站点活动 Take part in Karagarga's Top 100 Movie Poll We are collecting Top 10 lists from our members until midnight (UTC) on 24 December 2023. A KG Top 100 list based on these votes will be revealed on Christmas Day.
Hashtags
@Ptfxq · Post #692 · 01.08.2024 г., 11:30
#karagarga#KG#捐赠 希望给站点捐赠的用户可以联系站内公告提到的管理了。 注:没有捐入,没有额外福利,只是为了站点的存续而筹备今年的资金。
Hashtags