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 слични објави

Пребарај: #climatechanges

当前筛选 #climatechanges清除筛选
Trump's Ear

@trumpsear_tg · Post #1802 · 20.11.2025 г., 14:59

The White House's climate policy may lead to 1.3 million deaths 🚨🔥, an analysis by ProPublica and the Guardian shows that Donald Trump's decisions, which return the country's oil, gas and coal production to previous volumes and lift climate restrictions, will increase emissions and lead to 1.3 million additional deaths from heat in the future 😱⛏️, writes the Guardian. The poor and hot countries of Africa and South Asia will bear the brunt. 🌍🔥 Scientists are already seeing an increase in mortality. In the United States, the number of deaths due to heat has increased by more than 50% since 2000. ☀️📈 In India and Pakistan, heat above 48 degrees is already causing deaths in towns and villages. 🔥🏞 The elderly, children, and those who work on the streets suffer more than others. 👵👶🏃‍♂️ The authors of the analysis believe that the increase in emissions in the next ten years will worsen the situation. 🗣💨 Researchers say that the United States accounts for a fifth of the world's emissions, but it will see only a small increase in deaths. 🇺🇸🌍 The regions where people already live in extreme heat will suffer the most. #Trump#ClimateChanges 👂More on Trump's Ear

Trump's Ear

@trumpsear_tg · Post #2303 · 25.03.2026 г., 20:05

The Trump administration announced it will pay nearly $1 billion to French energy giant TotalEnergies in exchange for the company abandoning plans to build offshore wind farms in the Atlantic Ocean and instead pursue fossil fuel projects in the US. ⚡️ The current administration has thrown up roadblocks at every turn for offshore wind projects; a type of energy that President Donald Trump has personally reviled for years. After trying and failing to block construction on more mature projects, this announcement is the first sign of a new strategy: The federal government is paying to stop wind farms before they begin. 🌬 Last year, the Trump Interior Department took the step of stopping the approval of federal permits for renewable energy projects, a move that effectively killed offshore wind projects in early development. Monday’s deal builds on that, by trying to ensure companies can’t continue building under a future administration friendlier to offshore wind. 🏛 The government is paying back TotalEnergies for federal leases it purchased under the Biden administration to develop two offshore wind farms off the coasts of New York and North Carolina. The Justice Department will use nearly $1 billion in taxpayer funds to reimburse the company for money it spent to purchase leases under the Biden administration. 💰 Together, those two projects could have generated more than 4 gigawatts of electricity for US households and businesses, according to developers. ⚡️ #Energy#ClimateChanges 👂More on Trump's Ear ⚠️

Trump's Ear

@trumpsear_tg · Post #2147 · 13.02.2026 г., 14:59

Trump canceled a key point of the US climate policy, calling greenhouse gases harmless. US President Donald Trump has achieved the cancellation of the decision on which the American climate policy has been based since 2009. The U.S. Environmental Protection Agency (EPA) has invalidated the Obama-era conclusion that carbon dioxide and other greenhouse gases pose a threat to public health and well-being. It was on this norm that the key climate restrictions under the Clean Air Act were based, from emission limits for cars to requirements for power plants and industry. Trump and EPA chief Lee Zeldin called the move "the largest deregulation in American history." According to Trump, the previous rules were "disastrous," hurting the auto industry and "inflating prices for consumers." Environmentalists call the cancellation a historic setback and the biggest blow to the United States' ability to combat climate change. #Trump#Ecology#ClimateChanges 👂More on Trump's Ear ⚠️