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

Пребарај: #toimart

当前筛选 #toimart清除筛选

⬛AXELOT помог Toimart организовать процессы на новом складе Специалисты компании AXELOT разработали бизнес-процессы для сети супермаркетов товаров народного потребления. Специалисты AXELOT разработали бизнес-процессы и предложили системы хранения, которые позволяют максимально эффективно использовать пространство нового складского комплекса компании Toimart. Результат — товары с нескольких площадок размещены “под одной крышей”, пространство используется эффективно, склад готов к внедрению WMS🚀 Подробнее о проекте читайте в статье❗ #AXELOT#Toimart#WMS#автоматизация#склад#логистика#ритейл#оптимизация

AXELOT x TOIMART🇰🇿 Новый склад и новые бизнес-процессы🆕 Toimart – это сеть супермаркетов, входящая в состав Группы компаний Sabyrzhan Group, которая на протяжении 25 лет успешно работает в сфере оптовых и розничных продаж товаров народного потребления на территории Республики Казахстан В рамках дальнейшего развития бизнеса руководство компании запланировало объединить складские подразделения разных направлений бизнеса, находящиеся в разных частях города Алматы, на одной площадке. Проектируемый склад будет иметь площадь более 14.000 кв.м Примененные системы хранения, разработанная логика и стратегия размещения товаров, а также описанные технологические процессы позволят компании Toimart не только разместить все товары с нескольких площадок на одном складе, но и организовать пространство таким образом, чтобы доступные резервы площади могли быть использованы с различным функциональным назначением🔝 Концепция работы нового склада полностью соответствует требованиям для внедрения WMS. #AXELOT#TOIMART#KAZAKHSTAN#WAREHOUSE#Склад#Казахстан#Ритейл

🌟 AXELOT преобразил новый склад Toimart! ✅ Компания AXELOT успешно завершила комплексный проект нового склада сети супермаркетов Toimart (ГК «Sabyrzhan Group») площадью 14 000 кв. м с 9 000 SKU! На первом этапе было выполнено технологическое проектирования нового склада с оптимальными решениями и процессами. Ранее мы уже рассказывали про данный проект: AXELOT x TOIMART🇰🇿 Новый склад и новые бизнес-процессы🆕 В рамках этапа автоматизации были применены ключевые решения AXELOT WMS: 🔴Автоматическое определение зоны размещения товара (кондиционная продукция, брак, возврат поставщику); 🔴Оптимизация размещения с учётом востребованности товаров (зоны High, Medium, Low); 🔴Автоматизация инвентаризации по чёткому алгоритму (циклическая, внеплановая, с открытыми остатками); 🔴Автоматическое перемещение между зонами (например, в зону утилизации при обнаружении брака); 🔴Автоматическое создание партий при приёмке с фиксацией сроков годности; 🔴Автоматическое пополнение запасов при достижении минимального количества; 🔴Планирование отбора товаров с группировкой по маршрутам и типам. 🚀 Достигнутые результаты: ✔️товар с нескольких площадок размещён на одном складе; ✔️приёмка товара стала проще и точнее; ✔️отгрузка ускорилась в разы; ✔️сократилось время обработки продукции; ✔️уменьшилось количество ошибок; ✔️персонал тратит меньше времени на рутинные задачи. ✔️обеспечена интеграция AXELOT WMS с существующими корпоративными системами. 📈 Проект доказал, что автоматизация склада с помощью AXELOT WMS — это ключ к повышению эффективности логистических процессов! #AXELOT#Toimart#Казахстан#логистика#автоматизация#склад#WMS#технологическоепроектирование#оптимизацияпроцессов#эффективность