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

Резултати

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

Пребарај: #web2

当前筛选 #web2清除筛选
Nomis | Onchain Reputation Protocol

@nomis_protocol · Post #552 · 25.11.2024 г., 15:51

🎟Get superpower with your Scores within Hybrid Savings—tons of tailored offers for Score holders and much more! Hybrid Savings is a unique aggregator of exclusive deals that combines #WEB2 & #WEB3 in one convenient format of a Telegram Mini App. There you may find the best promotions, promo codes, and discounts! 🤔How can you access Hybrid Savings’ promo codes and other offers? 1) Visit Hybrid Savings via Partners or ScoreFront pages 2) Go to “Wallet” page 3) Click “Connect TON Wallet” 4) Enjoy exclusive deals! 💎 Now you can also enjoy all the ScoreFront benefits via Hybrid Savings right in the app—check the integration yourself using the button below!

Hashtags

Nomis | Onchain Reputation Protocol

@nomis_protocol · Post #513 · 31.10.2024 г., 12:02

🎟Yo dawg I herd u like benefits so we put a benefit in yo Score so u can be rewarded while u rewarded!Meet dozens of rewarding offers in Hybrid Savings offer on ScoreFront💎 Hybrid Savings is a unique aggregator of exclusive deals that combines #WEB2 & #WEB3 in one convenient format of a Telegram Mini App. There you may find the best promotions, promo codes, and discounts! 🤔How can you access Hybrid Savings’ promo codes and other offers? 1) Visit Hybrid Savings via Partners or ScoreFront pages 2) Go to “Wallet” page 3) Click “Connect TON Wallet” 4) Enjoy exclusive deals! Explore the offer details and leverage you Score by accessing best deals using the button below!

Hashtags

DWF Labs Broadcast

@Dwflabs · Post #97 · 14.12.2022 г., 09:30

While blockchain-based technologies have many qualities that set them apart from other computing paradigms, one of their primary value propositions is the generation of cryptographic truth. Amidst the market uncertainty, cryptographic truth is taking on greater prominence in setting the stage for a new competitive battleground for #Web2 and #Web3 applications centered around the type of trust-minimized guarantees offered to users. Now, it is up to users, developers, entrepreneurs, and forward-looking companies to begin building and adopting trust-minimized, quality protocols and products with real long-term viability. As we continue to empower development, expansion and #innovation in this space, we recognise the importance of building a world powered by #truth. This is the new standard. Full read here.

DWF Labs Broadcast

@DWFLabs · Post #201 · 09.02.2023 г., 00:01

[2 Feb-8 Feb] DWF Crypto Snapshot Our latest #crypto report by our Managing Partner Andrei Grachev is up. In this week's round up 💫 💠 Bitcoin #NFTs? It’s More Likely Than You Think 💠 Federal Rate Hikes Fuel #Bitcoin Price Sentiments 💠Renewed NFT Interest Drives #Trading And Lending On Popular #Marketplaces 💠History Comes To Life As Woodstock Takes To The #Metaverse 💠Western Financial Institutions Push #Crypto Prices With Spot Inflows 💠Japan Aims To Revitalize Its #Economy With Web3 #Innovation 💠Major #Web2 Companies Starts Hiring To Bolster #Web3 Capability Full readhere. Missed last week's snapshot? Read here. Follow us on Medium here. Stay up-to-date on the latest DWF Labs updates: Website| Twitter | Linkedin | Telegram

Crypto M - Crypto News

@CryptoM · Post #64885 · 10.04.2026 г., 06:54

🚀 Tria Integrates Aptos Network for Enhanced Global Transactions Tria, a non-custodial financial operating system, has announced the integration of its global trading engine with the Aptos network. According to ChainCatcher, this integration allows over 500,000 users across more than 150 countries to directly access and trade Aptos assets. Users can now perform cross-chain exchanges and asset interactions within a single application without the need for cross-chain bridges. The collaboration aims to leverage Aptos's sub-second confirmation and parallel execution technology to provide users with a seamless transaction experience. Additionally, it seeks to further connect traditional finance, Web2, and on-chain infrastructure. #Tria#AptosNetwork#GlobalTransactions#NonCustodial#FinancialOperatingSystem#CrossChainExchanges#AssetInteractions#Blockchain#Web2#OnChainInfrastructure#Aptos#Crypto#DecentralizedFinance#Fintech#APT