Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Интегрируйте AfiFarm с контроллером доильного места MPC, чтобы получить доступ к важным данным о здоровье животных, управлению состоянием окружающей среды и эффективностью доения.
AfiFarm предоставляет точные, интеллектуальные данные в режиме реального времени, чтобы вы могли принимать оптимальные, обоснованные и своевременные решения, от которых зависит ваша прибыль.🔹💙
#afmilk#молочноеживотноводство#доильныйзал#производствомолока
С помощью системы сортировки AfiSort вы можете автоматически сортировать коров для ветеринарного осмотра и составления плана лечения и не подвергать животных стрессу, когда вам нужно вывести их из коровника 🐄🔹
#afmilk#молочнаяферма#молочныекоровы#молочноеживотноводство#агротехнологии
Алгоритмы программы AfiFarm на основе искусственного интеллекта обеспечивают своевременное обнаружение проблем со здоровьем коров и оповещают о них пользователя, чтобы вы могли вмешаться в нужное время. 🔹
#afmilk#молочнаяферма#молочныекоровы#молочноеживотноводство#производствомолока
Ошейник AfiCollar постоянно отслеживает потребление корма коровами и телками, а также время руминации. Каждое из этих действий предоставляет информацию о здоровье животного, и любые отклонения могут указывать на симптом заболевания или изменение комфортности/условий содержания животного. 🔹🐄
#afmilk#молочныекоровы#молочнаяферма#молочноеживотноводство#мониторингкоров
Сортировка коров для проведения различных ветеринарных мероприятий может быть стрессом как для животных, так и для персонала.
Система AfiSort полностью меняет ситуацию с помощью легко настраиваемых автоматических процедур сортировки животных 🔹🐄↔️
#afmilk#молочнаяферма#молочноеживотноводство#производствомолока#сельскоехозяйство#агротехнологии
Познакомьтесь с доктором Алоном Арази, главным ветеринарным врачом в Afimilk. Алон принимает участие во всех исследованиях и разработках Afimilk, следя за тем, чтобы здоровье и благополучие животных всегда были главным приоритетом во всем, что мы делаем 🐄🔹
#afmilk#молочнаяферма#молочноеживотноводство#молочныекоровы#ветеринария
В хорошо управляемом доильном зале, где четко соблюдаются процедуры доения, коровы менее подвержены стрессу, более спокойны и расслаблены. Они больше отдыхают, имеют более сильную иммунную систему и более эффективно перерабатывают корм. С продуктами и системой Afimilk вы тоже можете этого добиться!
Посетите наш веб-сайт, чтобы узнать больше.
https://www.afimilk.com/ru
#afmilk#молочнаяферма#молочноеживотноводство#сельскоехозяйство#производствомолока#молочныекоровы
Продолжаем знакомить вас с фермами, использующими систему управления Afimilk. Представляем вам новый видеоролик от нашего партнера компании Madero Dairy Systems, демонстрирующий лучшие доильные залы типа "Карусель". В сочетании с нашим оборудованием для управления стадом - это, бесспорно, непревзойденный дуэт! #afmilk#доильныйзал#молочныекоровы#молочноеживотноводство#производствомолока#агротехнологии
Ищете способы снизить нагрузку на ферме и повысить эффективность? Присмотритесь к технологиям от Afimilk! При помощи инструментов, которые действуют как ваши глаза и уши, вы можете внимательно следить за своими коровами 24/7 и в то же время уделять достаточно внимания своим близким. 🔹💙
#afmilk#молочнаяферма#семейнаяферма#молочноеживотноводство#производствомолока#агротехнологии
Сделайте процесс доения максимально эффективным и защитите благополучие своих коров!
Готовы вывести доение на новый уровень?
С одобренным ICAR контроллером доильного места MPC от Afimilk вы ощутите революционные преимущества. Представьте себе точное и уверенное доение благодаря выверенной системе автосъема доильного аппарата и своевременному закрытию вакуума. Попрощайтесь с дискомфортом ваших коров! Вы сможете полностью контролировать пульсацию, адаптируя ее к индивидуальной скорости молокоотдачи коровы. Кроме того, MPC заранее предупредит вас о важных проблемах со здоровьем коровы, что позволит вам своевременно оказать животному специализированную помощь. Вы всегда будете в курсе раннего начала болезни, обнаружении мастита и много другого благодаря оповещениям в режиме реального времени.
Пришло время улучшить процесс доения и обеспечить оптимальные результаты для вашего стада!
Свяжитесь с нами для получения дополнительной информации! 🔹🔹
#afmilk#молочнаяферма#молочноеживотноводство#молочныекоровы#производствомолока#сельскоехозяйство#агротехнологии
Решение Afimilk для автоматизации и управления включает в себя уникальный набор датчиков в доильном зале для отслеживания и регистрации наиболее важных аспектов надоя для каждой коровы во время каждой дойки 🐄🔹
А вы используете молокомеры Afimilk?
#afmilk#молочноеживотноводство#технологии#доильныйзал#коровы#доение
Доильный зал — сердце фермы: как молокомер MPC от Afmilk превращает его в источник прибыли
Доильный зал — это сердце молочной фермы. И как любое сердце, он должен работать чётко и без сбоев, чтобы приносить прибыль, а не убытки.
К сожалению, многие современные доильные залы демонстрируют низкую производительность. Причины могут быть разными:
⚠️несовершенный протокол доения;
👨🔧 ошибки персонала (дояров и других сотрудников);
⚙️ некорректные настройки доильного аппарата;
🦠 периодические проблемы со здоровьем коров;
🥛 нестабильное качество молока.
Но есть решение — молокомер MPC от Afmilk. Этот инструмент помогает выявить «узкие места» и вернуть доильный зал к максимальной производительности.
Что даёт внедрение молокомера MPC?
1️⃣ Точная регистрация данных
• Конструкция «наполнить и сбросить» (fill & dump) фиксирует показатели при каждом заполнении камеры.
• Измерения проводятся каждые 200 г молока во время набора в измерительную камеру — это значительно повышает точность.
• Пороговые значения потока рассчитываются в режиме реального времени.
2️⃣ Измерение электропроводности с высокой точностью
• Анализ проводится в «спокойном» молоке — без пены и воздушных пузырей (в отличие от систем со свободным потоком, Free Flow).
• Позволяет выявлять отклонения, которые могут сигнализировать о проблемах со здоровьем коров.
3️⃣ Контроль качества промывки — залог чистоты и качества молока
• Система отслеживает:
o частоту сливов;
o температуру;
o концентрацию моющего раствора.
• Обеспечивает требуемую чистоту оборудования, что напрямую влияет на качество конечного продукта.
4️⃣ Защита здоровья вымени и ранняя диагностика мастита
• Стабильный вакуум без перепадов (в отличие от систем с сужениями потока) снижает нагрузку на вымя.
• Выявление проблем на субклинической стадии — за 48 часов до появления видимых симптомов.
• Диагностика по отклонениям в электропроводности и продуктивности.
5️⃣ Гибкость управления стадом
• Возможность отправить корову на сортировку прямо из доильного зала.
• Сбор данных по каждому животному для последующего анализа.
Какая выгода от внедрения системы?
Мониторинг доения с помощью MPC даёт вам полную картину работы зала — вплоть до уровня продуктивности каждой коровы. Эти данные можно использовать для:
✔️ оптимизации протоколов доения;
✔️ планирования воспроизводства стада;
✔️ корректировки рациона;
✔️ своевременного ветеринарного вмешательства;
✔️ анализа эффективности работы персонала.
Итог:
✅ меньше потерь молока и экономия средств на лечение коров;
✅ стабильное качество продукции;
✅ рост рентабельности доильного зала;
✅ долгосрочное улучшение здоровья стада.
Доильный зал — дорогостоящая инвестиция. Не упускайте его скрытый потенциал: начните контролировать процессы с помощью точных инструментов.
#молочноеживотноводство#автоматизацияфермы#Afmilk#MPC#рентабельность#доильныйзал#качествомолока