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

Резултати

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

Пребарај: #lightning

当前筛选 #lightning清除筛选

⚡ Компания Lightning Labs представила инструменты LangChainBitcoin, которые позволят ИИ-разработчикам интегрировать биткоин-платежи в свои решения. «Инструменты построены на протоколе L402, собственном механизме аутентификации Lightning Network, и Langchain, популярной библиотеке для упрощения работы с агентами ИИ», — говорится в описании. LangChainBitcoin позволяет непосредственно взаимодействовать с биткоином, хранить баланс, отправлять и получать криптовалюту через сеть микроплатежей, а также напрямую управлять нодой LND, подчеркнули разработчики Lightning Labs. #AI#Lightning

Interesting Planet 🌍

@interesting_planet_facts · Post #595 · 20.08.2025 г., 16:22

🌎 Lightning can sculpt glassy roots in sand! When a lightning bolt strikes the beach, it melts the grains into branching tubes called fulgurites—nature’s underground lightning “fossils.” ✨ #lightning⚡#geology⚡#minerals 👉subscribe Interesting Planet

Libreware

@libreware · Post #1264 · 28.03.2024 г., 18:14

OpenRGB Open source #RGB#lightning control If you have RGB devices from many different manufacturers, you will likely have many different programs installed to control all of your devices. These programs do not sync with each other, and they all compete for your system resources. OpenRGB aims to replace every single piece of proprietary RGB software with one lightweight app. https://openrgb.org

beng!

@mdmbeng · Post #2263 · 19.11.2024 г., 02:32

#Lightning#适配器 苹果或将停产Lightning转3.5毫米耳机插孔适配器 据报道,苹果公司可能即将停产其Lightning转3.5毫米耳机插孔适配器。该适配器于2016年与iPhone 7一同推出,旨在弥补取消传统耳机插孔后的不足。最初,苹果在iPhone 7、8和X的包装中附赠了该适配器,但从iPhone XS和XR开始,用户需单独购买,售价为9美元。 随着iPhone 15系列采用USB-C接口,苹果也提供了USB-C转3.5毫米耳机插孔适配器。然而,针对使用iPhone 14及更早型号的用户,Lightning适配器目前在美国的苹果在线商店显示“已售罄”,这可能预示着其即将停产。尽管如此,该适配器在法国、丹麦、芬兰、挪威和瑞典等国家的苹果商店仍有库存。 对于仍需使用该适配器的用户,建议尽快购买,以免未来无法获取。 频道:@mdmbeng 投稿:@mdmbeng_Bot

SIGNAL

@finsignal · Post #2830 · 02.02.2024 г., 17:31

#ChatGPT easily writes the code of a reverse proxy that allows you to open the API gate for payments #Bitcoin#Lightning and just as easily translates this code into the popular Rust programming language Simply put, machines are capable of making transactions with other machines 😈

Interesting Planet 🌍

@interesting_planet_facts · Post #494 · 03.08.2025 г., 20:22

🌎 A bolt from the past—fossilized lightning! When a lightning strike fuses sandy soil, it creates glassy, branching tubes called fulgurites, preserving the path of electricity underground for thousands of years. ✨ #geology⚡#lightning⚡#fossils 👉subscribe Interesting Planet

Amazing Geography 🌍

@amazingeo · Post #132 · 28.08.2025 г., 13:12

🌍 A single lightning bolt can be five times hotter than the surface of the Sun. These powerful flashes quickly heat the air, causing the thunderous sound we hear soon after. ✨ #weather⚡#lightning⚡#atmosphere⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography🌍 ​

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