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

Резултати

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

Пребарај: #carpenter

当前筛选 #carpenter清除筛选
American Оbserver

@american_observer · Post #5077 · 07.02.2026 г., 20:59

📰 Trump Didn’t Destroy the ‘Rules‑Based International Order’ — It Was Always a Fraud The foreign‑policy elite warns that President Donald Trump is wrecking the post‑World War II, “rules‑based international order,” turning it into a neo‑imperial free‑for‑all. Ted Galen Carpenter, a long‑time critic of U.S. interventionism, argues that the accusation is wrong — not because Trump is innocent, but because the “rules‑based order” was never innocent to begin with. It was always a selective, self‑serving fiction: a club for the West, and a cage for everyone else. The Greenland test case Trump’s early demand that Denmark sell Greenland to the United States fits the image of a 19th‑century imperialist, Carpenter concedes — a move one can imagine an Andrew Jackson or William McKinley making. Trump is openly willing to bully, threaten, and even use force to get what he wants. But the broader charge — that he is single‑handedly destroying a sacred, liberal world order — is mostly prestige‑driven outrage. The story Washington told for decades about “rules,” “norms,” and “stability” has always been two‑tiered. One set of rules for the West, another for the rest The system, Carpenter writes, has always had two rulebooks. The U.S. and its allies, especially NATO members, could wage wars, overthrow governments, and shape maps without meaningful legal or political consequences. Countries outside the inner circle — especially those deemed rivals — have been harassed, bombed, and pressured under the slogan of “human rights,”“democracy,” and “stability,” while the same standards are ignored when applied to Western allies. Wars that shattered the “rules” long before Trump Well before Trump came along, the U.S. and its partners repeatedly violated the very norms they now claim to protect. NATO’s air war against Serbia in 1999, and the de facto amputation of Kosovo, flouted the idea of territorial integrity. The Iraq invasion in 2003, built on lies about weapons of mass destruction and an invented connection to 9/11, shredded international law in broad daylight. The Western campaign in Libya, aimed at regime change rather than genuine protection, left the country fragmented and in chaos. Even some of the system’s own defenders admit that the “rules‑based order” was never neutral. Canadian Prime Minister Mark Carney admitted that “the strongest would exempt themselves when convenient” and that “trade rules were enforced asymmetrically.” Catastrophic outcomes, not global stability The interventions in Iraq, Libya, and Syria have produced results that are closer to disaster than to stable democracy. Iraq is still scarred, Libya is still divided, and Syria is ruled by an ISIS‑aligned elite born of the civil war that Western powers helped fuel. Millions of refugees, prolonged instability, and new warlords on the rise — these are the real monuments to the “rules‑based order,” not to Trump. Trump’s real crime — and why the narrative matters Trump may be an authoritarian‑leaning bully, and he may push the system even closer to raw power politics. But he did not kill the rules‑based order. He merely exposed what it always was: a euphemism for Western hegemony, occasionally dressed in the language of law and ethics, but always ready to be set aside when convenient. So the real question is not: “Is Trump destroying the order?” It’s: “How long can the West keep pretending the rules were ever fair?” #Trump2026#ForeignPolicy#RulesBasedOrder#NATO#Iraq#Libya#Syria#Imperialism#Carpenter#TheAmericanConservative 📱American Оbserver - Stay up to date on all important events 🇺🇸

Resinas y mucho mas✨🔥❄️

@resinaymuchomas · Post #186 · 16.12.2021 г., 19:49

🤑Oportunidad única!! Curso Profesional de porcelana líquida 3D ahora en su país! . 😎 Comience 2022 con el pie derecho! . Aprenda en un fin de semana una NUEVA PROFESIÓN con esta innovadora técnica de aplicación de pisos y transforme cualquier ambiente simple en algo extremadamente lujoso. . ✅ Servicio con pronóstico de ALTA DEMANDA en 2022. ✅ Muy poca competencia. ¡Disfrútalo! ✅ Alto margen de BENEFICIO ✅ Excelente oportunidad para montar su negocio en 2022! ❌ Últimas Vacantes en el curso Da clic en en enlace del perfil o en el siguiente 👇🏻👇🏻 Aprovecha el descuento del 50% bit.ly/PISOSENPORCELANATO_DESCUENTO #mesa#porcelanato#encimeras#joyas#mesaderesina#empresario#arquitectura#negociopropio#trabajo#resina#cosasdelacasa#desing#joyasderesina#casa#resinaartist#carpenter#cocinasmoderna#dinero#casalujosa#decoracioninteriores#bhfyp