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

Резултати

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

Пребарај: #granturismo

当前筛选 #granturismo清除筛选
DGN

@DansGN · Post #4802 · 15.06.2022 г., 13:43

IGN了解到由尼尔·布洛姆坎普执导的GT赛车改编电影定档2023年8月11日 https://www.ign.com/articles/gran-turismo-movie-neill-blomkamp-release-date #GranTurismo

Hashtags

Geex 👾

@GeexNoticias · Post #838 · 07.08.2023 г., 23:31

Neill Blomkamp, director de #GranTurismo desvela qué otra adaptación podría dirigir Blomkamp estaría encantado de continuar realizando adaptaciones de videojuegos y tiene un título en mente "Estuve pensando en ello desde el principio, en el concepto de posicionar al espectador en varios puntos alrededor del coche uniéndolo todo mediante el uso de sonido. Ese era mi objetivo, meter a la audiencia ahí [en las carreras]". Viendo que Blomkamp es un aficionado de los videojuegos y que, de hecho, está desarrollando su propio título battle royale; 'Off The Grid', nos aventura a preguntarle cuál sería la siguiente película basada en videojuegos que le gustaría dirigir si tuviera la oportunidad. La respuesta no podía ser otra: "Adaptaría mi propio videojuego, que sale a la venta el año que viene, porque me encanta la historia".

Hashtags

DGN

@DansGN · Post #5079 · 20.02.2023 г., 16:29

GT赛车7将在2月21号发布免费更新 1.29,除了惯例的新车辆和新赛道内容之外,还增加了对PS5版本提供PS VR2支持,以及增加和备受关注的Sony AI的人工智能车手GT Sophy同场竞技的Race Together模式 #GranTurismo#GT7 https://youtu.be/u7ai3y-g0rM

Chollazo Exprés 🔥 Ofertas y Descuentos

@ChollazoExpres · Post #5918 · 19.01.2026 г., 18:00

💥Playstation Gran Turismo 7 PS5 Experimenta la emoción de la velocidad y la competencia con el juego más esperad ✅OFERTA: 46.7€ ❌ Antes: 79.99€ 💰Ahorras un 42%🔥 Gráficos de última generación, jugabilidad inmersiva y desafíos únicos que te ma 👉 Hazte con él ahora y vive la experiencia definitiva de carreras #rebajas#playstation7#granturismo#descuentos#tecnologia 🛰️Oferta publicada en Tecnología

Auto Life

@revheadcrypto · Post #657 · 30.11.2024 г., 14:03

🚗✨Introducing the Maserati GranTurismo Folgore 110 Anniversario!🎉 In celebration of its anniversary, Maserati is releasing just 110 exclusive electric coupes! 🌟 This special edition will stand out with its unique finishes. Choose between the stunning Matte Gray Rame Folgore with a two-tone interior or the elegant Dark Blue Blu Inchiostro with a sleek black interior. 🖤💙 Each model will feature special copper-colored wheels, adding a touch of elegance to this powerful machine. 🛞✨ Under the hood, the Folgore version boasts three electric motors, making it the most powerful GranTurismo available! 💪 With a nominal output of 762 hp and a temporary boost up to 829 hp, it can accelerate from 0 to 100 km/h in just 2.7 seconds! ⚡️🔥 #Maserati#GranTurismo#Folgore#Anniversario#ElectricCar#LuxuryCars#Performance#Exclusivity#Auto