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

Резултати

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

Пребарај: #alpina

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

@car_news · Post #126 · 11.06.2024 г., 11:00

📸Alpina has unveiled an updated🚘 third series that is faster than the M3 Alpina has unveiled its reading of the BMW third series based car, the B3 GT and B4 GT. The Alpina B3 GT accelerates to 100 km/h in 3.4 seconds – one tenth faster than the BMW M3, which was unveiled at the end of May. It is noted that the engine output of the Alpina sedan is 389 kW (529 hp), which is not much less than that of the BMW M3 (390 kW or 530 hp). In addition, the B3 GT has different suspension settings compared to the BMW M3, as well as a redesigned rear stabiliser. The top speed of the Alpina B3 GT sedan is 308 km/h, while the B3 GT Touring and B4 GT Gran Coupe can reach 305 km/h. They accelerate to 100 km/h in 3.5 seconds. 💸 The cars start from € 101 thousand. @CarsNews #BMW#sportscar#Alpina

Car News

@car_news · Post #1773 · 04.01.2026 г., 12:10

📰 BMW officially integrates Alpina into the brand 🚘 BMW has announced the integration of Alpina into its corporate structure. The new division will be called BMW Alpina. 💰 Under the BMW Alpina sub-brand, the company will produce exclusive, high-end versions of BMW models, focusing on luxury, performance, and individuality. ℹ️ Previously, Alpina operated as an independent tuning atelier, hand-crafting refined and performance-oriented versions of BMW vehicles. Now, it enters a new chapter as an official part of the Bavarian brand. #BMW#Alpina#tuning@Car_News

Автоновости

@avtonovosti · Post #1674 · 04.01.2026 г., 12:15

📰 BMW официально интегрирует Alpina в состав бренда 🚘 BMW объявила о включении Alpina в свою корпоративную структуру. Новое подразделение получит название BMW Alpina. 💰 Под суббрендом BMW Alpina компания будет выпускать эксклюзивные, премиальные версии моделей BMW с акцентом на роскошь, производительность и индивидуальность. ℹ️ Ранее Alpina работала как независимое тюнинг-ателье, вручную дорабатывающее автомобили BMW, делая их более утончёнными и ориентированными на динамику. Теперь бренд начинает новую главу как официальная часть баварского концерна. #BMW#Alpina#тюнинг@avtoNovosti

Автоновости

@avtonovosti · Post #131 · 11.06.2024 г., 10:55

📸 Компания Alpina представила обновлённую 🚘 третьей серии, которая быстрее M3 Компания Alpina представила своё прочтение автомобиля на базе BMW третьей серии — B3 GT и B4 GT. При этом седан Alpina B3 GT разгоняется до 100 км/ч за 3,4 секунды — на одну десятую быстрее, чем представленный в конце мая BMW M3. Отмечается, что мощность двигателя седана от Alpina составляет 389 кВт (529 л. с.), что совсем ненамного меньше, чем у BMW M3 (390 кВт или 530 л. с.). Кроме того, B3 GT, по сравнению с BMW M3, получила иные настройки подвески, а также переработанный задний стабилизатор. Максимальная скорость седана Alpina B3 GT составляет 308 км/ч, в то время как B3 GT Touring и B4 GT Gran Coupe способны развивать 305 км/ч. До 100 км/ч они разгоняются за 3,5 секунды. 💸 Стоимость автомобилей начинается от € 101 тыс. @avtoNovosti #BMW#sportscar#Alpina

Car News

@car_news · Post #1291 · 26.05.2025 г., 09:19

🆕A secret BMW hides under this new coupe by Alpina founders ℹ️ The Bovensiepen family, which owns Germany's Alpina, has begun preparations for a business transformation. Early next year, the rights to the brand will be transferred to the BMW Group, and the niche carmaker will continue to operate under the new Bovensiepen brand. The sale of the Alpina brand (but not the company itself) to the BMW group was announced back in March 2022, but officially the change of ownership will take place only on January 1, 2026. Until then, the Bovensiepens have the right to produce Alpina cars on the basis of BMW. ☔️ According to Alpina tradition, the BMW 4 Series Convertible was taken as the basis for the project. However, it was transformed into a coupe with an almost completely new body. The interior architecture has not changed fundamentally. 🐎 Under the hood there is the M4’s 3.0-liter turbocharged inline-six engine with an output of 611 hp (700 Nm). Bovensiepen GT manages a 0–100 km/h sprint in just 3.3 seconds and reaches a top speed “beyond 300 km/h”, according to its makers. However, they have not yet said anything about the gearbox or the type of drive. 💷 Prices and planned production volumes will be revealed in the IV quarter of 2025. The start of deliveries is scheduled for the end of the II quarter of 2026. #BMW#tuning#Alpina#Bovensiepen@Car_News

Автоновости

@avtonovosti · Post #1222 · 26.05.2025 г., 10:14

🆕 Новый купе от основателей Alpina ℹ️ Семья Бовенсипен (Bovensiepen), владеющая немецкой компанией Alpina, начала подготовку к трансформации бизнеса. В начале следующего года права на бренд будут переданы BMW Group, а нишевый автопроизводитель продолжит работать под новым брендом Bovensiepen. О продаже бренда Alpina (но не самой компании) концерну BMW было объявлено ещё в марте 2022 года, но официально смена владельца произойдет только 1 января 2026 года. До этого времени у Bovensiepens есть право выпускать автомобили Alpina на базе BMW. ☔️ По традиции Alpina за основу проекта был взят кабриолет BMW 4 Series. Однако он был преобразован в купе с практически полностью новым кузовом. Архитектура интерьера принципиально не изменилась. 🐎 Под капотом – 3,0-литровый рядный двигатель M4 с турбонаддувом мощностью 611 л.с. (700 Нм). Bovensiepen разгоняется от 0 до 100 км/ч всего за 3,3 секунды и развивает максимальную скорость «свыше 300 км/ч», как утверждают производители. Однако они пока ничего не говорят о коробке передач и типе привода. 💷 Цены и планируемые объёмы производства будут раскрыты в IV квартале 2025 года. Начало поставок запланировано на конец II квартала 2026 года. #BMW#тюнинг#Alpina#Bovensiepen@avtoNovosti

SNOWBOARD with AlexGirnik

@alexgirniksb · Post #140 · 12.08.2022 г., 08:34

Ура. Я дома, я на связи! В ближайшее время всем отвечу☺️ Имеретинские были прекрасны, по всем связанным вопросам с маршрутом пишите в личку. Из нового подвернул ногу и теперь снова длительное восстановление ☹️ #mountain#lake#outdoor#outside#caucasus #alpina#buff