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

Пребарај: #bpa

当前筛选 #bpa清除筛选
@Veronica_ecovibes

@veronica_ecovibes · Post #1816 · 24.09.2025 г., 07:51

⠀ Не все знают, что даже выбрав самые экологически чистые и безопасные продукты, мы подвергаем свой организм серьёзной опасности прямо у кассы🤔⠀ ⠀ ⠀ ⠀ ⠀ Давайте сегодня разберем #чеки (так называемая #термобумага) В чём их опасность и не экологичность👇 ⠀ ❗️Опасность чеков заключается в содержании в них токсичного химического вещества — бисфенола А (#BPA) или его аналогов. Бисфенол А является канцерогеном и токсином, который впитывается через кожу и попадает в кровеносную систему, вызывая различные заболевания, включая эндокринные нарушения, онкологию, и нарушая работу репродуктивной системы. ❗️У детей бисфенол А может вызывать неврологические заболевания и проблемы с развитием. BPA может привести к ожирению и диабету. Есть исследования, доказывающие, что Бисфенол А приводит к задержке развития мозга, аутизму, развитию сахарного диабета, ожирения и сердечно-сосудистых заболеваний ▫️▫️▫️ ⠀ ✅Во многих странах вещество ужевнесли в список опасных химических веществ. Например, в Канаде еще 10 лет назад запретили бутылочки для кормления, в состав пластмассы которых входил Бисфенол-А. ⠀ 🐊Теперь рассмотрим, какой вред для окружающей среды наносят чеки ▫️😡 Именно из-за Бисфенола А кассовые чеки не принимают на переработку: помимо того, что в термобумаге мало целлюлозы и выход вторичного сырья из неё очень низкий, она может загрязнить остальную макулатуру токсинами. Поэтому сдавать чеки в макулатуру не только бесполезно, но и вредно… При попадании в компост или на свалку чеки загрязняют почву и грунтовые воды токсичными веществам 👎🥲 ⠀ Что можно сделать: ☑️Отказаться от бумажных чеков: По возможности просить электронные чеки на почту или в виде SMS ☑️Снизить контакт: Стараться не касаться чеков голыми руками и мыть руки после контакта с ними. Если без чека не обойтись, старайтесь брать его руками в перчатках. Особенно актуален совет для тех, кому приходится регулярно прикасаться к термобумаге - например, продавцам в магазинах. Сотрудникам рекомендуют работать в перчатках и не использовать спиртосодержащие санитайзеры для рук, так как они усиливают поглощение бисфенола кожей! ☑️Сделать фото: Вместо хранения бумажных чеков можно фотографировать их на телефон ☑️Следить за составом продуктов: Обращать внимание на наличие бисфенола А в других пластиковых изделиях и упаковке… А вы знали, что чеки такие бяки )?

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38833 · 09.05.2022 г., 06:01

#Cina#HongKong L'ex segretario della sicurezza John #Lee è stato eletto come nuovo Capo Esecutivo di Hong Kong, che detiene il potere esecutivo della Regione amministrativa speciale. John Lee era l'unico candidato alla carica. Di seguito i risultati: Affluenza: 97,74% Voti a favore di John #Lee (app. #DAB-#BPA-#FTU-#LP-#NPP-#HKFLU-#NCF-#PP)|Pro-Pechino: 99,44% Voti contro John Lee: 0,56% @UltimoraPolitics