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

Резултати

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

Пребарај: #hades2

当前筛选 #hades2清除筛选
GRAYKOLORI 🧪💀

@graykolori · Post #137 · 21.06.2024 г., 11:55

А это прогресс по Мелинойке, вместе её доводим до ума уже, лицо там, разрезики, детали, бедрышко 🫦🌿 #hades2#melinoe

Masyanyarus Life

@masyanyarus_art · Post #2386 · 25.12.2024 г., 12:00

Рисунок не новогодний, но в списке дел значится! Я хотела нарисовать Сциллу из Hades 2 как только увидела её ⭐️ Мой любимый босс ❤️ #арт#hades2#hades В комменты скину чутка процесса и персонажа из самой игры=)

GRAYKOLORI 🧪💀

@graykolori · Post #416 · 17.07.2024 г., 09:17

Дозакину ещё несколько видов) а то что я по 1 фотке заливаю.... А так, всем спасибо за поддержку, я отуныл обратно, все крутые! Теперь пойду дальше лепить своих "кукол Братц" 😂 В сермате мне тож прям зашло, а завтра на арту фулы залью, мож кому интересно будет и видос смонтирую🗿 #AlexGray#Melinoe#hades2

GRAYKOLORI 🧪💀

@graykolori · Post #405 · 16.07.2024 г., 14:09

А итоговый рендер собственно вот, его уже вместе подбивали Про горящие пердаки вокруг неё читайте выше 🗿☝️ И вот её посчитали порнушной?.. 🗿 #AlexGray#Melinoe#Hades2

椒盐豆豉剪报

@mtfront · Post #3219 · 08.05.2024 г., 16:13

Hades II 的一些早期试玩体验: 第二个 boss 海妖塞壬的歌儿也太好听了吧!!!!!!! 1 代的时候欧律狄刻那首 Good Riddance 就已经是游戏 OST 上乘之作了这么多年都在我的歌单里,没想到这次还能有更好听的!!!以至于我被 boss 打死的时候不是遗憾被打死而是遗憾歌戛然而止了。牛逼!!!!EA 还没有原声碟听不能早点收藏我好馋!!!真的太好听了超带感。象友在 YouTube 上找到了这首,非常介意新鲜感的可以先不要点链接自己打到再听。还没上 Spotify,让我第一次有了要不从 Spotify migrate 到 YouTube music 吧的想法…… 这次美术水准同样高的同时,感觉比一代还加入了一些 quirky 可爱的元素,比如青蛙还有教练,宙斯也很 sassy 的样子让我忍不住想到雷神 4 的搞笑宙斯了哈哈哈。女性 NPC 也都超帅的。 以及,一代是 1.0 才玩的,这次 EA 入手确实还是能感到明显 EA 痕迹,第二个大关卡的敌人平衡性明显还没调校好,好多时候都打得很 grinding。以及感觉目前诸神的祝福出现频率调低了?经常打好几关都只能碰到各种资源,远没有祝福让人兴奋,而且打到第二关就开始显现出来祝福少导致的战斗不花哨略单调了。估计是诸神的祝福还没做全只做了几个神的先试试,期待早日调整。 #hades2#gaming#youtube#listening

椒盐豆豉剪报

@mtfront · Post #3248 · 17.05.2024 г., 07:23

Steam Deck 的五项杀手功能 via 科技爱好者周刊第 300 期 作者总结了祂心目中的 steam deck 五项祂最喜欢的杀手功能: 1. 睡眠模式,可以随时睡眠和唤醒,无缝暂停和继续游戏 2. Steam 游戏库 3. Steam 输入自定义 4. 开放平台,可装桌面系统和运行桌面应用 5. 模拟器 今年我自己使用 steam deck 也挺频繁感觉已经值回票价。尤其喜欢睡眠模式,甚至因为它的方便性有些时候甚至会在家里有 desktop 的情况下为了拿起来到哪都能玩和暂停而有时候“偷懒”选择用 deck。最近玩 #hades2 更是很多时候 deck 不离手。 #indieblog#gaming#导读#newsletter#消费主义陷阱

GRAYKOLORI 🧪💀

@graykolori · Post #128 · 12.06.2024 г., 09:41

Ну что всем приветы, кого не видел ещё раз, это втиснувшийся Алекс Грэй =) Мелиноя для Bulkamancer Sculpts из Hades 2. Сижу пержу тут делаю её, пока в тпозе, но думаю сделаю её ножик и поставлю в позу как по концепту (кину в коммы) напишите кстати автора, а то я не шмог найти имя #hades2#melinoe#hades#alexgray