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

Резултати

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

Пребарај: #esma

当前筛选 #esma清除筛选
Garantex News Russia

@garantexnews · Post #14159 · 21.01.2025 г., 13:00

🏦ESMA призывает использовать стейблкоины, подчиняющиеся MiCA 🔹 Европейское управление по надзору за рынком ценных бумаг (ESMA) призвало криптокомпании использовать только те стейблкоины, которые соответствуют законодательству о цифровых активах (MiCA). 🔹 Под закон подпадают как валюты с фиатным обеспечением, так и токены, привязанные к другим активам. Компании, работающие в еврозоне, должны отказаться от использования нерегулируемых стейблкоинов. 🔹ESMA подчеркнула, что к 31 марта 2025 года все нерегулируемые стейблкоины должны покинуть рынок ЕС. 🔹 Крупнейший стейблкоин USDT, эмитентом которого является Tether, пока не имеет лицензии на работу в еврозоне. Инвесторы должны конвертировать такие токены в регулируемые цифровые активы. 🔹 Количество лицензированных криптокомпаний в ЕС растет. Платформа Crypto.com недавно объявила о выходе на рынок, отметив, что MiCA обеспечивает прозрачность и защиту инвесторов. #ESMA#MiCA#Стейблкоины

Crypto M - Crypto News

@CryptoM · Post #65201 · 11.04.2026 г., 22:28

🚀 ECB Supports ESMA Oversight of Major Cross-Border Financial Firms The European Central Bank (ECB) has expressed its support for a European Commission proposal to grant the Paris-based European Securities and Markets Authority (ESMA) direct oversight of significant cross-border financial firms, including large crypto asset service providers. According to NS3.AI, this move marks a shift from the current Markets in Crypto-Assets (MiCA) framework, where national regulators are responsible for supervising crypto asset service providers (CASPs), while ESMA primarily plays a coordinating role. Although the ECB's opinion is non-binding, the proposal will now proceed to negotiations among EU member states and the European Parliament. #ECB#ESMA#EuropeanCommission#CrossBorderFinance#CryptoAssets#MiCA#FinancialRegulation#EUParliament#CASPs

Crypto M - Crypto News

@CryptoM · Post #65202 · 12.04.2026 г., 00:24

🚀 EU Proposes Regulatory Shift for Cross-Border Institutions The European Union is considering a significant change in its regulatory framework for cross-border institutions. According to ChainCatcher, the proposal suggests transferring regulatory authority from national supervisory bodies to the European Securities and Markets Authority (ESMA). This shift would affect large Crypto Asset Service Providers (CASPs), trading venues, central counterparties, and central securities depositories. This proposal marks the most substantial structural adjustment in the EU's crypto regulatory framework since the Markets in Crypto-Assets Regulation (MiCA) was fully implemented for CASPs at the end of 2024. Under the current MiCA framework, national authorities serve as the primary regulators, while ESMA plays a coordinating role. #EU#regulatoryshift#crossborderinstitutions#ESMA#CryptoAssetServiceProviders#CASPs#MiCA#cryptoregulation#EUcrypto

Crypto M - Crypto News

@CryptoM · Post #64963 · 10.04.2026 г., 12:25

🚀 European Central Bank Supports EU's Financial Regulatory Reform The European Central Bank (ECB) has expressed its support for the European Commission's proposal to centralize financial regulation. According to Odaily, the plan aims to transfer the regulatory authority of cross-border financial institutions, including crypto asset service providers (CASPs), from national regulators to the European Securities and Markets Authority (ESMA). This move is intended to deepen the integration of the EU capital markets and enhance international competitiveness. The ECB emphasized the need for ESMA to be adequately staffed and funded, while minimizing market disruptions during the regulatory transition. #EuropeanCentralBank#EU#FinancialRegulation#ECB#EuropeanCommission#ESMA#CryptoAssets#CapitalMarkets#InternationalCompetitiveness#CASPs#RegulatoryReform