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

Резултати

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

Пребарај: #kverneland

当前筛选 #kverneland清除筛选

Вернемся в начало сентября, где компания Агромаг провела мероприятие, которое стало самым большим по количеству участников! Спасибо всем кто принял участие и надеемся, что следующая презентация будет еще масштабнее! 🌾 Линейка кормоуборочной техники Kverneland обеспечивает эффективность, надежность и экономичность на каждом этапе кормозаготовительного процесса. Наглядно в этом убедились участники семинара «Кормозаготовка 360°: презентация инновационной техники Kverneland», организованного компанией «Агромаг». Смотрите подробности в нашем видео! #kverneland#агромаг#кормозаготовка#сельхозтехника@KvernelandRussia

📌Сегодня #АгроМаг был организован семинар Кормозаготовка 360°: презентация инновационной техники #Kverneland Интересен формат: сначала прошла лекция о новинках техсистем, а затем представление их в полевых условиях! Среди многих с.-х. машин выделю: ⚙️Гибридный трактор Zoomlion DV3354 с гибридной силовой установкой: дизель Yuchai (9,4 л; 335 лс) + 2 эл.мотора и литий-ионный АКБ. ⚙️Пресс-подборщик Kverneland 6716 SC14 Plus с интеллектуальной системой плотности Intelligent Density 3D, позволяющей адаптироваться под тип урожая и условия прессования - на нем установлен рекорд заготовки сенажа – 1587 рулонов за 24 ч непрерывной работы. ⚙️ROC RT 1000 — ленточный валкообразователь нового поколения. Гл. особенность — подбор массы с поля и транспортировка её на центральную ленту (а не протаскивание по земле), что позволяет бережно работать с хрупкими культурами и очень повышает качество валка. ❗️Есть договоренности: #ИИТ будет получать спецприглашения на такого рода презентации для преподавателей и для обучающихся!

Дорогие друзья, приглашаем вас посетить стенд компаний «Агромаг» и «Квернеланд» на международной специализированной выставке сельскохозяйственной техники «АГРОСАЛОН - 2024», которая пройдет в МВЦ «Крокус-Экспо» (Москва, станция метро «Мякинино») с 8 по 11 октября! Будем рады видеть вас в числе наших гостей! #Агромаг#Агросалон2024#Kverneland@KvernelandRussia

Отгрузка плуга Kverneland PN 100-9 Прицепной плуг 9 корпусов имеет: -Гидравлическую систему изменения ширины захвата Variomat -Рессорную защиту от камней Non Stop -Индукционная закалка стали Плуг который прослужит действительно долго и без проблем! #Kverneland@Kverneland_Russia#Агромаг#плуг#почвообработка

Плуги Kverneland, очень востребованы и отлично себя зарекомендовали благодаря своей простой, но в то же время безотказной рессорной защитой, а так же доступными запчастями. Приобретая плуг Kverneland вы надолго закрываете вопрос вспашки! Плуги созданы из самого качественного метала , созданного по собственному рецепту, внутри гибкий, снаружи твердый как алмаз, именно это качество позволяет выдерживать большие нагрузки и наработки! #плуг#kverneland#Агромаг@kvernelandrussia#лучшийплуг

НОВИНКА!!! Экспонат который был нами представлен на Дне Поля 2024. Косилки Kverneland серии 3300 оснащены системой Kverneland Nonstop BreakBack для защиты режущего аппарата💯 При наезде на препятствие в поле режущий аппарат перемещается назад и вверх, а затем возвращается в исходное рабочее положение. Это обеспечивает защиту по всей рабочей ширине вашей косилки🌾 Подробности у наших менеджеров. #Агромаг#Kverneland#кормозаготовка#косилки

Региональный День Поля в очередной раз показывает не поддельный интерес к нашей технике! Проведя аналитику по проведённому мероприятию мы заполняем наш склад самыми ходовыми продуктами! Сегодня на складе Агромаг имеется: - Трактора Zoomlion RN 904 PRO - Трактора Zoomlion RS1304/1604 PRO - Плуг Kverneland 150S 4+1 (5) корпусов - Плуг Kverneland ED 85-6 корпусов - Фронтальные погрузчики к тракторам - Щетка коммунальная задненавесная с системой обеспыливания на гидроприводе - Фронтальная косилка последнего поколения Kverneland 3332FT - Задняя комбинация косилок последнего поколения с транспортерами Kverneland 5387 MT BX Приглашаем в гости на просмотр техники и получения ответов на вопросы. #складАгромаг#ZoomlionRS1304#Kverneland@Zoomlion_AG_Russia

Проверенное имя, знакомая техника: встречаемся на Казань Агро🌾 Техника Kverneland официально представлена на выставке Казань Агро. Приходите на стенд B103, чтобы увидеть пресс-подборщик и разбрасыватель Kverneland вживую, наметить планы на сезон и познакомиться с командой профессионалов. #выставка#КазаньАгро#Kverneland

Подготовка почв продолжается! Сегодня был введен в эксплуатацию плуг Kverneland ED 85-6 (6 корпусов) Надежный навесной оборотный плуг Kverneland ED предназначен для эффективной недорогой вспашки средних и тяжелых почв. Оснащен надежной защитой стоек Kverneland с автоматическим сбросом (рессорная защита, не требует обслуживания). Непревзойденная долговечность. Ручная регулировка ширины захвата корпусов позволяет оптимизировать расход топлива и производительность трактора для достижения наилучшей производительности вспашки. В данном хозяйстве имеется 3 плуга Kverneland. Легкая настройка и качественная вспашка, надежность плуга, больший срок службы рабочих органов (благодаря закалке металла) и доступность запчастей! Именно поэтому наши плуги так востребованы! #Агромаг#плуги#Kverneland#почвообработка

Остается последний день подготовки к выставке. Мы практически готовы встречать и удивлять Вас! На фото наш флагманский экспонат, трактор Zoomlion PL2304 и косилки Kverneland! Но есть и кое что еще! Ждем всех 08.08.25 на нашем стенде Место проведения ЧРПП 2025: https://yandex.ru/navi/?whatshere%5Bzoom%5D=16&whatshere%5Bpoint%5D=30.406261,60.052685&si=wrwuaud3k0bumjxben0hbcnagg #Агромаг#Kverneland#Zoomlion#Выставка#ЧРПП2025

Запустили компактную навесную складную сеялку Kverneland Satio 1060 F Главная особенность модели — использование дозатора ELDOS в сочетании с системами электроники e-bas(базовая) и e-com(Isobus). Это позволяет оператору точно контролировать норму высева и обеспечивать равномерное распределение семян даже при изменении скорости движения. Электроника e-com обеспечивает полный контроль сеялки через ISOBUS-терминал, а не Isobus совместимая электроника e-bas, также как и электроника e-com, выполняет все основные функции. Эти инновации делают Kverneland Satio незаменимым помощником для достижения высоких урожаев Рабочая ширина - 6 метров Транспортная ширина - 3 метра Объём бункера - 1700 литров Гидравлический привод - в базовой комплектации Электроника e-bas - терминал Focus 3 Норма высева - 1-400 кг/га Междурядье - 12,5 см (48 сошников) / 25 см (24 сошника) Диск сошника - 325 мм Давление на сошник - 5-70 кг #Агромаг#сеялка#Kverneland#Satio@Kvernelandrussia

Отгружена навесная складная сеялка Kverneland Satio 1060 F Данная сеялка была представлена на выставке Агросалон 2024 и собрала не поддельный интерес у аграриев. Главная особенность модели — использование дозатора ELDOS в сочетании с системами электроники e-bas(базовая) и e-com(Isobus). Это позволяет оператору точно контролировать норму высева и обеспечивать равномерное распределение семян даже при изменении скорости движения. Электроника e-com обеспечивает полный контроль сеялки через ISOBUS-терминал, а не Isobus совместимая электроника e-bas, также как и электроника e-com, выполняет все основные функции. Эти инновации делают Kverneland Satio незаменимым помощником для достижения высоких урожаев Рабочая ширина - 6 метров Транспортная ширина - 3 метра Объём бункера - 1700 литров Гидравлический привод - в базовой комплектации Электроника e-bas - терминал Focus 3 Норма высева - 1-400 кг/га Междурядье - 12,5 см (48 сошников) / 25 см (24 сошника) Диск сошника - 325 мм Давление на сошник - 5-70 кг #Агромаг#сеялка#Kverneland#Satio@Kvernelandrussia

123•••56
ПретходнаСтраница 1 од 6Следна