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

Резултати

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

Пребарај: #usiranceasefire

当前筛选 #usiranceasefire清除筛选
Crypto M - Crypto News

@CryptoM · Post #64510 · 09.04.2026 г., 04:38

🚀 Asia's Bond Market Gains Momentum Amid US-Iran Ceasefire Asia's bond market is experiencing renewed momentum as borrowers seize opportunities amid improved risk sentiment following the US-Iran ceasefire. Bloomberg posted on X, highlighting the surge in activity as investors respond to the geopolitical developments. The ceasefire has alleviated some of the uncertainties that previously weighed on the market, encouraging borrowers to take advantage of favorable conditions. This shift in sentiment is reflected in increased issuance and investor interest across the region. Analysts suggest that the current environment may continue to support bond market growth, provided geopolitical tensions remain subdued. The developments underscore the interconnectedness of global events and regional financial markets, with Asia's bond market poised to benefit from the easing of international tensions. #Asia#BondMarket#USIranCeasefire#Investing#Geopolitics#FinancialMarkets#MarketSentiment#InvestorInterest

Crypto M - Crypto News

@CryptoM · Post #64492 · 09.04.2026 г., 03:04

🚀 Mitsui OSK Lines to Review US-Iran Ceasefire Before Navigating Strait of Hormuz Japan’s Mitsui OSK Lines, a leading global shipping company, plans to closely examine the specifics of a ceasefire agreement between the United States and Iran before permitting its vessels to traverse the Strait of Hormuz. Bloomberg posted on X, highlighting the strategic importance of this waterway, which is a critical passage for global oil shipments. The company aims to ensure the safety and security of its operations in the region, given the historical tensions and potential risks associated with navigating this vital maritime route. Mitsui OSK Lines' decision underscores the cautious approach taken by major shipping firms in response to geopolitical developments that could impact international trade and shipping lanes. #MitsuiOSKLines#USIranCeasefire#StraitOfHormuz#globalshipping#internationaltrade#geopolitics#shippingsecurity#oilshipments#maritimeroute#Bloomberg

Crypto M - Crypto News

@CryptoM · Post #64831 · 10.04.2026 г., 02:57

🚀 Economist Predicts Brent-WTI Price Spread to Normalize if US-Iran Ceasefire Holds Economist Hamad Hussain from Capital Economics has stated that the recent ceasefire agreement between the United States and Iran could lead to a normalization of the price spread between Brent and WTI crude oil contracts. According to Jin10, Brent crude typically trades at a premium over WTI crude, but this pattern has been disrupted since the recent conflict began. Hussain noted that the current inverted spread measures the price difference between Brent futures for June delivery and WTI futures for May delivery, with differing contract expiration dates. However, he mentioned that due to significant tightening in the oil market caused by Middle Eastern supply disruptions, and expectations of supply easing in the coming months, the premium of WTI over Brent has widened. #Economist#BrentWTIPriceSpread#USIranCeasefire#CrudeOil#HamadHussain#CapitalEconomics#OilMarket#BrentCrude#WTICrude#MiddleEasternSupply#OilPremium#SupplyDisruptions#OilMarketNormalization