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

Резултати

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

Пребарај: #steamdeck

当前筛选 #steamdeck清除筛选
XP Digital Lab

@rocchl · Post #8000 · 20.12.2025 г., 01:58

V社逐步在美国停售 Steam Deck LCD 掌机,未来主推 OLED 版 据科技媒体 Windows Central 今天报道,V社正逐步在美国市场停售 Steam Deck LCD 掌机,未来消费者只能购买价格更高的 Steam Deck OLED。 作为参考,Steam Deck LCD 发布于 2022 年,售价 399 美元(IT之家注:现汇率约合 2813 元人民币)起,在同类 PC 掌机中价格亲民且能玩当年推出的 3A 游戏,配备 AMD Zen 2 架构 CPU+RDNA 2 定制 APU,搭载 7 英寸 1280*800 显示屏、16GB 内存,默认运行 SteamOS,续航约 2 小时。 标签:#steamdeck Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

DGN

@DansGN · Post #5144 · 01.05.2023 г., 23:36

乌克兰陆军正在使用Steam Deck遥控机枪炮塔 https://www.facebook.com/tro.media.news/posts/pfbid0SZLkZjDy6dhoCbryn5p3fKn6RtycvPsddAWsckbXGSqW9gVQsWnv3HLF1548imS6l #Valve#SteamDeck

DGN

@DansGN · Post #5078 · 19.02.2023 г., 22:19

Steam Deck测试版系统开始支持通过本地网络从PC端Steam传入已安装的游戏 https://store.steampowered.com/news/app/1675200/view/3673285123502439065 #Valve#SteamDeck

荔枝木

@Lychee_wood · Post #41479 · 18.12.2025 г., 16:33

像素肉鸽游戏《不仅是矿》(There is mORE)新免费试玩版2.0已上线Steam,支持简体中文与Steam Deck优化。玩家体验“昼采夜战”循环:白天挖矿,夜晚守卫核心。2026年Q1开启抢先体验,新增法术流派、重制键位、德语支持,性能全面提升。 #ThereIsMORE#Roguelike#IndieGame#SteamDeck👇 https://xiaomuacg.com/news/2544

SheronW in the box

@sheronw_in_the_box · Post #707 · 21.12.2022 г., 17:35

在 The Verge 和 Steam Deck 设计者的采访中,Pierre-Loup Griffais 提到,Valve 付费给超过 100 名参与 Steam Deck 相关工作的开源开发者,这些开发者参与的工作包括 Proton 兼容层、Mesa 图形驱动、Vulkan 等。 https://www.theverge.com/23499215/valve-steam-deck-interview-late-2022 这与 2021 年 Apple 对开源软件贡献者的态度形成了鲜明的对比。Twitter 上的 Apple 支持账号对用户询问的关于 macOS 上 curl 的 man page 更新问题的答复 [1] 是要求用户找 curl 开发者解决。curl 维护者 Daniel Stenberg 就此发文讽刺 [2],称 Apple 在赚得数十亿美元的产品中使用它人的开源组件,非但不回报这些开源组件的开发者,反而还把遇到问题的用户推给他们。本台也提到过超算开发公司 Cray 的类似行为 [seealso] 。 1. web.archive.org/~ 2. https://daniel.haxx.se/blog/2021/11/18/free-apple-support/ linksrc: https://t.me/rynif/29462 seealso: /3279 #today#OpenSource#Valve#SteamDeck#Apple