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

Резултати

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

Пребарај: #evergreen

当前筛选 #evergreen清除筛选
福利彩金

@ob599ob · Post #840 · 28.06.2023 г., 08:15

【五大内核浏览器】🌐 🔺 谷歌 :https://www.google.com/intl/zh-CN/chrome/ (👉🏻 点击即复制👉🏻https://www.google.com/intl/zh-CN/chrome/) 🔘 火狐:https://www.firefox.com.cn/ (👉🏻 手机版点击即复制👉🏻https://www.firefox.com.cn/) 💯 safari: https://www.apple.com.cn/safari/ (👉🏻 点击即复制👉🏻https://www.apple.com.cn/safari/) 🟰 Opera: https://www.opera.com/zh-cn/browsers (👉🏻 点击即复制👉🏻https://www.opera.com/zh-cn/browsers) 🔜 Edge:https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen (👉🏻 点击即复制👉🏻https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen)

Hashtags

赌王之王

@PG115 · Post #558 · 15.05.2025 г., 08:31

给予很多用户用苹果自带浏览器无法访问可下载以下【五大硬核浏览器】🌐 ⚡️谷歌 :https://www.google.com/intl/zh-CN/chrome/ (👉🏻 点击即复制👉🏻https://www.google.com/intl/zh-CN/chrome/) ⚡️火狐:https://www.firefox.com.cn/ (👉🏻 手机版点击即复制👉🏻https://www.firefox.com.cn/) ⚡️safari: https://www.apple.com.cn/safari/ (👉🏻 点击即复制👉🏻https://www.apple.com.cn/safari/) ⚡️ Opera: https://www.opera.com/zh-cn/browsers (👉🏻 点击即复制👉🏻https://www.opera.com/zh-cn/browsers) ⚡️Edge:https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen (👉🏻 点击即复制👉🏻https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen) 用完了还不行 换手机

Hashtags

🈯️【五大硬核浏览器】🌐 🔺 谷歌 :https://www.google.com/intl/zh-CN/chrome/ (👉🏻 点击即复制👉🏻https://www.google.com/intl/zh-CN/chrome/) 🔘 火狐:https://www.firefox.com.cn/ (👉🏻 手机版点击即复制👉🏻https://www.firefox.com.cn/) 💯 safari: https://www.apple.com.cn/safari/ (👉🏻 点击即复制👉🏻https://www.apple.com.cn/safari/) 🟰 Opera: https://www.opera.com/zh-cn/browsers (👉🏻 点击即复制👉🏻https://www.opera.com/zh-cn/browsers) 🔜 Edge:https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen (👉🏻 点击即复制👉🏻https://www.microsoft.com/zh-cn/edge?form=MA13FJ#evergreen) 😱用完了还不行 换手机

Hashtags

Мариам Мерабова

@MerabovaMariam · Post #1779 · 04.12.2024 г., 15:19

Друзья, жду вас 8 декабря в 20:00 на Главной сцене Клуба Алексея Козлова! 💫 Моя программа «Evergreen» — это вечер джазовой магии, где прозвучат «вечнозелёные» композиции и авторские песни, которые мы с Арменом Мерабовым создали с душой. Вас ждут музыка, тепло и искренние эмоции. Билеты ищите на сайте Клуба, и до встречи! 🎶❤️ https://kozlovclub.ru/event/mariam-merabova-9 #МариамМерабова#Evergreen

Tomoko RD

@tomoko_channel · Post #1070 · 23.04.2025 г., 04:33

🔖 听着就很不正经呢~~ 根据电价、太阳能冗余量、供暖需求作为条件,决定是否启用比特币矿机用于取暖。 #pinboard#iot#evergreen 该帖子讨论了如何将比特币矿机(如 Antminer S19)与 Home Assistant 集成,以根据电价、太阳能发电和供暖需求自动调整矿机的运行状态,从而实现家庭供暖和能源优化。 主要内容包括: - 自动化控制:用户利用 Home Assistant 的 hass-miner 集成,通过自动化规则根据电价和太阳能发电情况控制矿机的开关和功率设置。例如,当电价高时关闭矿机,当电价低或有多余太阳能时提高功率运行。 - 功率调节:矿机的功率设置在 1800W 到 3000W 之间,低功率模式用于提高效率,高功率模式用于消耗多余的太阳能或在电价低时运行。 - 集成 Braiins OS:通过安装 Braiins OS,用户可以更精细地控制矿机的功率限制,并通过 Home Assistant 实现自动化调节。 - 热管理与采矿收益:用户还集成了 Nicehash,以监控矿机的收益,并将其与电力消耗进行比较,从而评估系统的经济性。 - 社区经验分享:其他用户也分享了他们的设置经验,例如使用“versatile thermostat”集成,根据室内温度自动调整矿机功率,以维持恒定的室温。 总的来说,该帖子展示了如何将比特币矿机与智能家居系统结合,实现家庭供暖、能源优化和加密货币挖矿的多重目标。 https://community.home-assistant.io/t/controlling-bitcoin-antminer-for-house-heating/753510

ТИС ЛОДЖИСТИК

@tislogistic · Post #4773 · 09.08.2025 г., 01:02

🚢 Еще одно судно компании Evergreen столкнулось с инцидентом у берегов Перу, потеряв около 50 контейнеров. 1 августа судно Ever Lunar вместимостью 8500 TEU потеряло контейнеры, стоя на якоре у Каллао, что временно приостановило морские операции в порту. ⚓ В результате инцидента DP World и APM Terminals приостановили свою деятельность. Власти уверяют, что потерянный груз не представлял угрозы для окружающей среды, и порт вновь открылся в середине дня. 🌊 Сообщается, что Ever Lunar находился у причала в ожидании загрузки, когда ему приказали покинуть гавань из-за предупреждения о цунами. Не все контейнеры были закреплены должным образом, что и привело к потере. ___ #ТИСЛОДЖИСТИК🦏 #Evergreen #Контейнеры #МорскиеПеревозки

12
ПретходнаСтраница 1 од 2Следна