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

Резултати

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

Пребарај: #eurozone

当前筛选 #eurozone清除筛选
KolgotA • Crypto • Statistics

@kolgotada · Post #1952 · 25.06.2024 г., 13:03

#Eurozone Over the next 12 months, a large share of European consumer loans will reset to higher interest rates. В течение следующих 12 месяцев значительная часть европейских потребительских кредитов будет переведена на более высокие процентные ставки. KolgotA • Crypto • Economy • Statistics

Hashtags

KolgotA • Crypto • Statistics

@kolgotada · Post #2000 · 01.07.2024 г., 10:02

#eurozone#ес The Czech central bank unexpectedly cut rates by 50 bps again. Центральный банк Чехии неожиданно снова снизил ставку на 50 б.п. KolgotA • Crypto • Economy • Statistics

KolgotA • Crypto • Statistics

@kolgotada · Post #1973 · 28.06.2024 г., 13:03

#Eurozone#ЕС Here is a look at Google search activity on conflicts, cost of living, environment, and retirement. Обзор поисковой активности Google по конфликтам, стоимости жизни, окружающей среде и выходу на пенсию. KolgotA • Crypto • Economy • Statistics

Crypto M - Crypto News

@CryptoM · Post #65417 · 13.04.2026 г., 06:23

🚀 ECB Rate Hike Probability Rises to 50% for April The probability of the European Central Bank (ECB) raising interest rates in April has increased to 50%, according to recent pricing in the money markets. According to Jin10, this marks a significant rise from last Friday when the likelihood was estimated at around 20%. The shift in market expectations reflects growing anticipation of monetary policy adjustments by the ECB. #ECB#RateHike#InterestRates#MonetaryPolicy#MarketExpectations#Eurozone

Crypto M - Crypto News

@CryptoM · Post #65122 · 11.04.2026 г., 06:00

🚀 Eurozone's Oil Price Sensitivity Exceeds That of the U.S., Bank of America Reports The Eurozone exhibits a significantly higher sensitivity to oil price fluctuations compared to the United States, according to a report by Bank of America. The study reveals that a 10% increase in oil prices results in an inflation impact of approximately 40 basis points and a growth impact exceeding 10 basis points in the Eurozone. These effects are roughly double those observed in the U.S. According to Jin10, the report attributes this heightened sensitivity to the larger share of energy in the European consumer basket and the region's status as a net importer of oil. #Eurozone#OilPriceSensitivity#US#BankOfAmerica#InflationImpact#OilPriceFluctuations#EnergyImport#ConsumerBasket#EconomicGrowth

Crypto M - Crypto News

@CryptoM · Post #65236 · 12.04.2026 г., 07:21

🚀 Bank of America Revises Economic Forecasts Amid Global Tensions Bank of America has adjusted its economic forecasts for the United States and the Eurozone, citing the impact of ongoing global conflicts. According to Jin10, the bank's report on Friday indicated a downward revision of the U.S. growth forecast for this year by 50 basis points to 2.3%. The direct impact of the conflict accounts for approximately three-quarters of this adjustment. Additionally, the overall inflation forecast has been revised upward by 70 basis points, with core PCE expected to be 30 basis points higher than previously predicted, reaching 3.1% by the end of 2026. In the Eurozone, Bank of America has lowered its growth forecast by 60 basis points and increased its inflation forecast by 160 basis points to 3.3%, with core inflation projected at 2.3%. These adjustments reflect the bank's response to the evolving economic landscape influenced by geopolitical tensions. #BankofAmerica#EconomicForecast#USGrowth#Eurozone#Inflation#GeopoliticalTensions#CorePCE#EconomicAdjustment#GlobalConflicts#FinancialForecast