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

Резултати

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

Пребарај: #maga

当前筛选 #maga清除筛选
ℭ𝔬𝔪𝔟𝔞𝔱𝔩𝔳𝔩™

@realcombatlvl · Post #24304 · 22.07.2025 г., 17:37

- Covid NOT 1 held accountable - Crossfire hurricane NOT 1 held accountable. - Epstein NOT 1 held accountable - Jan 6th hoax NOT 1 held accountable - Stolen Election NOT 1 held accountable Sucking off israel is all that seems to matter to Trump & #MAGA

Hashtags

我個人並不相信西方媒體關於刺客只是個年輕人的說法。以色列情報部門可以設計出各種暗殺政治人物的方案(公眾也總是毫不懷疑地接受這些方案)。例如,被謀殺的前沙烏地國王(反對以色列和中止對美石油供應)只是被自己的家人謀殺的嗎? 9/11事件顯然與穆斯林無關,而是與以色列有著密切的聯繫。這位右翼名嘴在被槍殺前不久曾與其他反以色列保守派人士一起批評內塔尼亞胡,他的言論將影響即將到來的美國中期選舉。 #MAGA

Hashtags

Wendy Rogers

@wendyrogersaz · Post #8279 · 26.10.2024 г., 21:06

10 days left to get on the RIGHT SIDE of HISTORY. Then it’ll be TOO LATE for the criminals. #MAGA

Hashtags

Wendy Rogers

@wendyrogersaz · Post #8273 · 25.10.2024 г., 00:32

These doorknockers/phone-bankers come all the way from SoCal, rent an AirBnB for WEEKS, and just GO FOR IT! True Americans who love their country! #MAGA ⁦ @realDonaldTrump⁩ ⁦ @KariLake⁩

Hashtags

Man in America 🇺🇸

@maninamerica · Post #2814 · 03.02.2025 г., 01:33

Let’s be honest, are there any Americans that are going to be sad to see the IRS gone? #MAGA "The Fair Tax would repeal the current tax code and replace it with a single national consumption tax," a statement from Carter's team reads. "In addition to eliminating all personal and corporate income taxes, the death tax, gift taxes, and the payroll tax, the Fair Tax would also eliminate the need for the Internal Revenue Service." https://www.newsweek.com/republican-plan-abolish-federal-income-taxes-irs-reform-2023362

Hashtags

НАШ президент США

@nashpresidentUSA · Post #1213 · 09.06.2021 г., 12:25

​​Самолет с пулом журналистов Джо Байдена не смог вылететь в Европу из-за … цикад Борт с прессой уже стоял на взлетной полосе. Но оказалось, что есть незарегистрированные пассажиры - насекомые🦟 Они заползли в двигатели, рейс пришлось отложить с 9 вечера до 2 утра. Репортеров отправили в отель, привезли пиццу, открыли бар (так что грустно им не было) и пообещали, что новый самолет скоро прилетит из Нью-Йорка в Вашингтон. Говорят, Байдену (он вылетает сегодня) такие проблемы не страшны, у него самолет понадежнее и способен выдерживать и не такое. 🤡В соцсетях стали шутить, что fakenews не пускают в Европу, и это #MAGA (или вернее сам Трамп) натравил вредителей на команду Байдена. 🐛Шутки шутками, а в реальности этой новости не удивились. Последние недели миллиарды цикад облетели восток США. Это выводок под цифрой X, так называемых, периодических цикад. У них уникальный жизненный цикл: большую часть жизни проводят под землей, поднимаясь на поверхность раз в 13 или 17 лет. Насекомые находят пару, размножаются, откладывают яйца и погибают. Потом на свет появляются личинки, которые прячутся под землю и ждут своего часа Х, чтобы организовать нашествие. 17 лет прошло. И теперь жители страдают от этих больших, громких и назойливых насекомых, которые заполняют собой всё пространство и мешают жить

Hashtags

123•••67
ПретходнаСтраница 1 од 7Следна