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

Резултати

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

Пребарај: #oled

当前筛选 #oled清除筛选
RedFox Branding

@redfoxuz · Post #1905 · 22.02.2025 г., 07:19

#inqilobiy_ozgarish / #kinoindustriya / #OLED Dunyo o‘zgarayotgani singari kinoteatrlar ham katta transformatsiyani boshdan kechirmoqda. An’anaviy DLP, LCD va Laser proyektorlar o‘z o‘rnini OLED va MicroLED texnologiyalariga bo‘shatmoqda. Bu faqat yangi texnologiya emas, balki butun sanoatning inqilobi! 🔥 Jajji maqolachani o'qish: https://www.rahimazim.uz/kinoteatrlarda-inqilob-oled-erasi-boshlanmoqda-2/

ASUS CIS

@asus_on_russian · Post #2995 · 29.01.2025 г., 08:15

👆 ASUS Zenbook DUO: два сенсорных OLED-экрана 📱📱 для интуитивного управления и комфортной работы 💻. Не просто ноутбук, а целая платформа для творчества! 🎨 Интересно узнать больше? Оставь комментарий! 💬 #ASUS#ZenbookDUO#ноутбук#OLED

🚀 Знакомьтесь, Kuycon Q32S: 240 Гц и QD-OLED в премиальном алюминии Друзья, у нас отличные новости! Новая поставка пришла, и мы наконец готовы подробно рассказать о наших новинках! Будем делать это постепенно, чтобы не перегружать Вас лишней информацией. Начнём с нашего главного гостя: Kuycon Q32-S QD-OLED. Вот что скрывается за лаконичным дизайном из премиального алюминия: 🟢 Дисплей нового поколения Внутри — 31.5-дюймовая QD-OLED матрица 3-го поколения. Это не просто «OLED», это квантовые точки, которые дают бешеную цветопередачу без выгорания цвета. 4K (3840x2160), 10-бит, 1,07 млрд цветов. 240 Гц — игровой киберспортивный уровень. 0.03 мс — никаких шлейфов. HDR400 True Black — чёрный здесь действительно бесконечный. 🔌 Порты будущего Мы заглянули вперёд. В Q32S стоит DisplayPort 2.1 (80 Гбит/с) и USB-C (80 Гбит/с). Для владельцев новых RTX 5090: вы получите 4K 240 Гц без сжатия (DSC не нужен). Для фанатов Apple: подключаете MacBook одним кабелем USB-C, получаете 4K 240 Гц + зарядка 100 Вт. 🛡 Надёжность QD-OLED боится выгорания? Мы предусмотрели это. Пассивное охлаждение через алюминиевый корпус (никаких вентиляторов). Встроенная функция OLED Care (сдвиг пикселей, защита экрана). VESA-крепление 100х100мм. в комплекте (подставка, как и у большинства других наших мониторов, опциональна — вы выбираете сами). Кому он нужен? Хардкорным геймерам, которые хотят видеть каждую тень в Cyberpunk 2077. Владельцам Mac, которые устали от 60 Гц и хотят идеальную плавность в интерфейсе и монтаже. Киноманам, для которых HDR — не просто галочка. Характеристики прикрепили в первом комментарии (чтобы не перегружать пост). Спрашивайте, если нужна помощь с выбором между G32P и Q32S — поможем! Приобрести монитор можно на нашем сайте, а также на маркетплейсах Ozon и Яндекс.Маркет #Kuycon#Q32S#Новинка#OLED#240Hz#ИгровойМонитор

ПретходнаСтраница 1 од 3Следна