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

Пребарај: #lucidair

当前筛选 #lucidair清除筛选
Car News

@car_news · Post #443 · 28.08.2024 г., 15:01

⚡ The “world's fastest armored vehicle” with a unique set of features has been unveiled That's what its creators at US Armor Group are calling it. The vehicle is based on the Lucid Air Sapphire and is designed to change “preconceptions about the luxury of armored cars”. The EV received a three-motor all-wheel drive system with an output of 1234 hp. This allows the standard model to accelerate from 0 to 96 km/h in 1.89 seconds, reach a top speed of 330 km/h and have a range of up to 687 km. US Armor Group added lightweight ballistic windows that can withstand .44 Magnum rounds, as well as lightweight composite armor that is “10 times stronger than ballistic steel but five times lighter.” In addition to the armor, the vehicle is equipped with an “impenetrable Internet/WiFi security package” that promises to protect data from hacking attempts. The company said the model has received “advanced technology that continuously scans nearby threats during transportation, gathering intelligence from more than one million sources, including scanners from local police and fire departments.” Customers can add more powerful armor to protect against grenades, explosive devices and high-powered rifles. Options include stun door handles, pepper spray hidden in the armrest, and hidden gun locations. Prices start at $475,000. @CarsNews #LucidAir#EV

Hashtags

Автоновости

@avtonovosti · Post #427 · 28.08.2024 г., 15:56

⚡Представлен «самый быстрый в мире бронированный автомобиль» с уникальным набором характеристик Так его называют создатели из US Armor Group. Автомобиль создан на базе Lucid Air Sapphire и призван изменить «предубеждения о роскоши бронированных автомобилей». Электромобиль получил трёхмоторную систему полного привода мощностью 1234 л.с. Это позволяет стандартной модели разгоняться от 0 до 96 км/ч за 1,89 секунды, достигать максимальной скорости 330 км/ч и иметь запас хода до 687 км. US Armor Group добавила легкие баллистические окна, которые могут выдерживать выстрелы из .44 Magnum, а также легкую композитную броню, которая «в 10 раз прочнее баллистической стали, но в пять раз легче». Помимо брони, автомобиль оснащён «непроницаемым пакетом безопасности Интернета/WiFi», который обещает защитить данные от попыток взлома. Компания заявила, что модель получила «передовую технологию, которая непрерывно сканирует близлежащие угрозы во время транспортировки, собирая разведданные из более чем миллиона источников, включая сканеры местной полиции и пожарных». Клиенты могут добавить более мощную броню для защиты от гранат, взрывных устройств и мощных винтовок. В качестве опций: электрошоковые дверные ручки, спрятанный в подлокотнике перцовый баллончик и скрытые места для оружия. Цены начинаются от $475 000. @avtoNovosti #LucidAir#электромобиль

Auto Life

@revheadcrypto · Post #399 · 28.08.2024 г., 18:33

🚗💨Introducing the World’s Fastest Armored Vehicle: Lucid Air💨🚗 Meet the Lucid Air Sapphire, a stunning 1250-horsepower electric car that’s not just about speed—it’s also built to protect! 🛡️✨ This beast is equipped with composite armor and bulletproof glass, capable of withstanding shots from .44 Magnum handguns (think Desert Eagle!). 🔫💥 For those seeking extra security, optional upgrades can enhance protection against grenades and automatic rifle fire. Priced at $475,000, this armored marvel is nearly double the cost of the standard Air Sapphire. 💰💎 #LucidAir#ArmoredVehicle#ElectricCar#Luxury#SafetyFirst#Innovation#Auto