Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Дорогие друзья! Сегодня мы хотели бы рассказать вам о нашей услуге "Сборный груз" (LTL) 🚚✨
❓Что такое сборный груз? Это удобный и экономичный способ доставки, который идеально подходит для тех, кто хочет отправить большой или тяжелый груз недорого.
✅Почему стоит выбрать сборный груз?
1. Экономия: Вы платите только за место, которое занимает ваше отправление, по открытым гибким тарифам!
2. Удобство: Мы собираем несколько отправлений от разных клиентов и отправляем их в одном транспортном средстве. Вам не нужно беспокоиться о логистике!
3. Прозрачность: Вы полностью контролируете путь отправления с помощью онлайн-сервиса. Для этого достаточно знать и ввести в нужное поле номер накладной!
4. Безопасность: Мы гарантируем сохранность перевозимого имущества. Партии товара комплектуются с учетом свойств и особенностей содержимого, маркируются уникальными штрихкодами.
📦Как это работает?
1. Вы оформляете заявку на сайте или по телефону.
2. Мы собираем ваш груз вместе с другими отправлениями.
3. Доставка осуществляется в наиболее удобное для вас время и место.
❗️Не упустите возможность воспользоваться нашей новой услугой! Сборный груз (LTL) — это удобно, выгодно и быстро.
#ксэ#курьерсервисэкспресс#сборныйгруз#ltl
🚚Увеличиваем долю сервиса доставки сборных грузов🚀
📈КСЭ планирует увеличить долю сервиса доставки сборных грузов в выручке более чем в 3 раза. За счет оптимизации внутренних процессов и маркетинговых активностей компания нарастит эту долю до 10%.
📖По данным Росстата, объем грузовых автоперевозок за первые пять месяцев 2022 года составил 1,91 млрд тонн, что на 0,7% больше, чем годом ранее. Сегмент транспортировки сборных грузов (LTL) остается достаточно динамичным – в 2021 году, по оценкам M.A.RESEARCH, темпы его роста были зафиксированы на уровне 14% по отношению к 2020 году.
📊В 2021-м году темпы роста направления сборных перевозок «Курьер Сервис Экспресс» превысили общерыночные и составили 56% в денежном выражении. Согласно прогнозам, по итогам 2022-го данный показатель увеличится на 36%, в том числе благодаря расширению географии доставки.
➡️Подробнее на нашем сайте в разделе "Новости"
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#FTL#LTL
📦 Весь период самоизоляции мы будем с вами! 🚚
✅ Курьер Сервис Экспресс продолжит свою работу в течение всего апреля (01.04 - 30.04) в штатном режиме!
Также напоминаем, что в связи с действующей обстановкой в стране/мире, мы предлагаем вам 2 наши новые услуги:
➡️ Бесконтактная доставка - мы заберём и доставим ваши отправления, не приближаясь ближе, чем на 3 метра к отправителю/получателю, соблюдая при этом все требования по профилактике вирусных инфекций;
➡️ Доставка "в режиме удалёнки" - мы поможем Вашему бизнесу в организации дистанционной работы и доставим любые письма/грузы точно в срок по выгодным тарифам.
💻 Для консультации по любым вопросам, связанным с деятельностью компании КСЭ, просьба обращаться к Вашему менеджеру или к специалистам через онлайн-чат на нашем сайте www.cse.ru . Будем рады помочь с доставкой ваших отправлений!
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦 Рады сообщить, что в это непростое время мы будем с вами! 🚚
✅ Курьер Сервис Экспресс продолжит свою работу в течение всей следующей недели (30.03 - 05.04) в штатном режиме!
Также напоминаем, что в связи с действующей обстановкой в стране/мире, мы предлагаем вам 2 наши новые услуги:
➡️ Бесконтактная доставка - мы заберём и доставим ваши отправления, не приближаясь ближе, чем на 3 метра к отправителю/получателю, соблюдая при этом все требования по профилактике вирусных инфекций;
➡️ Доставка "в режиме удалёнки" - мы поможем Вашему бизнесу в организации дистанционной работы и доставим любые письма/грузы точно в срок по выгодным тарифам.
☎️ Для консультации по любым вопросам, связанным с деятельностью компании КСЭ, просьба обращаться к Вашему менеджеру или по телефону +7 (495) 748-7-748. Будем рады помочь с доставкой ваших отправлений!
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦 КСЭ - курьерская доставка по всей России! 🚀
✅ В компании "Курьер Сервис Экспресс" с максимальной серьёзностью относятся к действующей ситуации, связанной с распространением вирусной инфекции. Мы применяем все необходимые меры для профилактики её распространения.
➡️ Персонал компании проходит ежедневный утренний и вечерний контроль температуры тела. Те сотрудники, у которых её показатели выходят за пределы нормы, отстраняются от работы с условием обязательного посещения врача. И не допускаются к работе без медицинской справки.
🚚 Для получения услуги «бесконтактной доставки» обращайтесь к Вашему менеджеру КСЭ. Телефон для связи +7 (495) 748-7-748 ☎️
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦 Заходите на наш новый сайт cse.ru !⚡
✅ У нас радостная новость - мы обновили сайт "Курьер Сервис Экспресс"!
Надеемся, вы оцените его по достоинству, потому что мы старались сделать его максимально комфортным в использовании!
➡️ На сайте работает форма обратной связи, где вы можете оставить свои комментарии и пожелания по работе сайта и его функционалу.
🚚 Курьер Сервис Экспресс - больше, чем просто доставка! 🚀
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📝В феврале 2020 года компания "Курьер Сервис Экспресс" проходила очередной внешний квалификационный аудит и успешно завершила его по всем параметрам!
✅Начиная с 2017 года, когда компания получила сертификат качества по стандарту ISO 9001:2015, мы продолжали улучшать предоставляемый сервис. И в итоге за эти 3 года мы не просто "сделали шаг в правильном направлении", а значительно улучшили действующие процессы в КСЭ!
📈Для клиентов и партнёров компании это событие ещё раз подтверждает, что КСЭ – надёжный партнёр и поставщик услуг, чья система управления бизнес-процессами получает признание на международном уровне и гарантирует высокое качество предоставляемых услуг.
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦Междугородная доставка КСЭ - это надёжно и выгодно!🚚
✅С нами Вы точно будете уверены, что отправление будет доставлено получателю лично в руки и точно в срок!
➡️ Заходите к нам на сайт cse.ru или звоните +7(495)748-7-748 и мы поможем с доставкой!
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦Курьер Сервис Экспресс предоставляет комплексное решение для интернет-магазинов: хранение товаров, формирование и упаковка заказов, служба клиентской поддержки, доставка заказов, обработка возвратов.
✅Узнать более подробно об услуге "фулфилмент для интернет-магазинов" можно на сайте www.cse.ru или по телефону +7(495)748-7-748.
➡️Также, если у Вас появились вопросы, то Вы можете написать нам в "личные сообщения" группы. Будем рады ответить на них!
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Склад#Хранение#Грузы
📦Автоматические сортировщики!
✅Сортировочная лента позволяет успешно справляться с объемами отправлений в «высокий» сезон.
✅Пропускная способность подобных линий составляет до 5 тысяч посылок в час, а процесс практически полностью автоматизирован!
✅На каждой ленте работает до 25 сотрудников в смену, что позволяет обрабатывать до 100 тысяч заказов в сутки!
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#автоматическиесортировщики#Доставка#склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Хранение#Грузы
😮КСЭ расширяет сервис услуг для интернет-магазинов и с 10 апреля 2023 г. добавляет возможность «Экономичной» доставки в режимах «дверь-дверь» и «дверь-склад» в перечень доступных к заказу опций.
⚡️Также обращаем ваше внимание - тарифы «Срочной» и «Экономичной» доставки до склада будут существенно снижены!
✔️Обновленные тарифы будут опубликованы на сайте 10 апреля.
#КСЭ#CSE#КурьерСервисЭкспресс#CourierServiceExpress#Доставка#Логистика#Фулфилмент#Склад#Трекинг#Перевозчик#Уведомления#Курьеры#FTL#LTL#Хранение#Грузы#Бесконтактная#БесконтактнаяДоставка