Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
📍 Совет Евразийской экономической комиссии принял решение разработать новую межгоспрограмму «Евразийская информационно-вычислительная инфраструктура»
✅✅✅ Целью новой межгоспрограммы является построение информационно-вычислительной инфраструктуры ЕАЭС для предоставления широкого доступа к высокопроизводительным вычислительным ресурсам мирового класса всем предприятиям, научным учреждениям, учебным заведениям, государственным ведомствам, субъектам инновационного развития.
🔷🔷🔷 Предлагается разработать технологии эффективного использования создаваемой инфраструктуры, предоставить всем субъектам инновационной экономики возможность ее применения, создать для потребителя комфортную среду, включая бизнес-модель функционирования, необходимую нормативно-правовую базу, стандарты, систему сертификации, сформировать экспертное сообщество и образовательную сеть.
🌐https://eec.eaeunion.org/news/sovet-eek-poruchil-razrabotat-mezhgosprogrammu-po-sozdaniyu-v-soyuze-superkompyuternoy-seti/
#EAEC#ЕЭК#АртакКамалян#блокКамаляна#EAEU#EAEC
📍 О совместной работе промышленного блока Евразийской экономической комиссии и уполномоченных органов Армении, Беларуси, Казахстана, Кыргызстана, России в рамках реализации и продвижения «зеленых» инициатив, о том, какие вопросы стоят на повестке дня, в интервью ИА «Спутник Армения» рассказал заместитель директора департамента промышленной политики ЕЭК Георгий Арзуманян.
✅ Читаем! ⤵️
https://ru.armeniasputnik.am/20211110/metallolom-i-plastik---chto-armeniya-i-drugie-strany-eaes-delayut-dlya-zelenoy-ekonomiki-35143295.html
#ЕАЭС#ЕАЕU#ЕЭК#EAEC
#блокКамаляна
📍ЕЭК: в 2022 году рост взаимной торговли сельхозпродуцией в ЕАЭС составит 16%
✅ Премьер-министры стран Евразийского экономического союза одобрили на заседании Евразийского межправительственного совета подготовленные Комиссией и согласованные государствами Союза совместные прогнозы развития агропромышленного комплекса, балансы спроса и предложения государств-членов по сельскохозяйственной продукции, продовольствию, льноволокну, кожевенному сырью, хлопковолокну и шерсти на 2021–2022 годы.
❗️ Ожидается увеличение экспорта молочной продукции – в 2,6 раза, мяса птицы – в 1,7 раза, говядины – в 1,6 раза, свинины – в 1,4 раза и сахара – в 1,8 раза. Также увеличится экспорт зерновых культур – на 23%, овощей – на 21%, картофеля – на 7%.
❗️ Импорт согласно прогнозу сократится по сравнению с 2019 годом: зерна - в 1,7 раза, сахара – в 1,8 раза, молочной продукции – на 29%, яиц – на 23%, баранины – на 16%, картофеля и говядины – на 8%, свинины – на 6%.
🔹Подробности ⤵️
https://eec.eaeunion.org/news/eek-v-2022-godu-rost-vzaimnoy-torgovli-selhozproduciey-v-eaes-sostavit-16/
#ЕАЭС#ЕAEU#EAEC#ЕЭК
📍 Экономические реалии, сопряженные в том числе с санкционным давлением, формируют вызовы для развития металлургической отрасли стран ЕАЭС
🔷 Об этом на полях XVII Международного форума «Лом черных и цветных металлов-2022» заявил заместитель директора департамента промышленной политики ЕЭК Георгий Арзуманян. Он рассказал о рисках, связанных с возможным снижением потребления металлопродукции на внутреннем и внешних рынках ЕАЭС, в том числе в связи с нарушением традиционных логистических цепочек на мировом рынке и, как следствие, сокращением производства металлов в Союзе и снижением заготовки металлолома – сырья для электросталеплавильных мощностей.
✔️https://eec.eaeunion.org/news/eek-sovmestno-so-stranami-eaes-formiruet-podkhody-po-syrevomu-obespecheniyu-metallurgii-v-novykh-usl/
#ЕАЭС#ЕЭК#EAEU#EAEC
#блокКамаляна#АртакКамалян
📍В ЕЭК обсудили вопрос развития цифрового сервиса «Биржа импортозамещения»
✅ Сегодня на площадке Евразийской экономической комиссии прошла встреча министра по промышленности и агропромышленному комплексу ЕЭК Артака Камаляна с представителями «Электронной торговой площадки Газпромбанка».
🔷 В рамках мероприятия презентован новый цифровой сервис «Биржа импортозамещения».
Данная онлайн-площадка является совместным проектом Минпромторга России, «Электронной торговой площадки Газпромбанка» и Агентства по технологическому развитию (Группа ВЭБ.РФ). Сервис предоставляет возможность заказчикам публиковать запросы на приобретение товаров, а поставщикам — направлять ценовые предложения и аналоги без дополнительных затрат, согласований и посредников. Цифровой сервис «Биржа импортозамещения» сопряжен с Государственной информационной системой промышленности.
❗️ Стороны достигли договоренности о том, что ЕЭК будет оказывать содействие в развитии сервиса «Биржа импортозамещения».
❗️ В дальнейшем к работе этой цифровой площадки могут подключиться хозяйствующие субъекты всех стран ЕАЭС.
📝Справка
Подробнее о работе биржи импортозамещения читайте здесь
https://etpgpb.ru/portal/import-substitution/
#ЕАЭС#ЕЭК#EAEU#EAEC
#блокКамаляна#АртакКамалян
📍Итоги заседания консультативного комитета по агропромышленному комплексу
✅ Одобрен проект рекомендации Коллегии Евразийской экономической комиссии об общих принципах и подходах к обеспечению устойчивого развития аквакультуры и рыболовства в государствах ЕАЭС.
✅Одобрен обзор «Международный опыт развития цифровизации в АПК: государственная поддержка, регулирование, практика».
🔷 Подробности ⤵️
🌐https://eec.eaeunion.org/news/itogi-zasedaniya-konsultativnogo-komiteta-po-agropromyshlennomu-kompleksu/
#АртакКамалян#блокКамаляна
#ЕАЭС#EAEU#ЕЭК#EAEC
📍На пленарном заседании в рамках ХХ Международной научно-технической конференции «Наука – образованию, производству, экономике» в Минске директор департамента промышленной политики ЕЭК Николай Кушнарев выступил с докладом по Основным направлениям промышленного сотрудничества (ОНПС) в ЕАЭС.
✅ Новый среднесрочный стратегический документ в сфере промышленности определяет цели, задачи, направления, инструменты, приоритетные виды экономической деятельности для промышленного сотрудничества, относящиеся к добывающей и обрабатывающей промышленности, а также перечень чувствительных товаров.
✅✅✅ Как отметил директор департамента ЕЭК, опыт реализации первых Основных направлений промсотрудничества показывает, что наилучших результатов удается добиться по тем направлениям, где государства Союза находят общие интересы и действуют согласованно, совместно решая стоящие перед ними задачи.
🔷 Подробности⤵️
https://eec.eaeunion.org/news/nikolay-kushnarev-predstavil-na-forume-v-belarusi-glavnye-orientiry-osnovnykh-napravleniy-promyshlen/
#АртакКамалян#блокКамаляна
#ЕАЭС#ЕЭК#EAEC#EAEU
📍Заместители министров сельского хозяйства стран Союза рассмотрели вопросы обращения органической продукции и семян сельхозкультур
✅В мероприятии приняли участие заместитель министра экономики Республики Армения Арман Ходжоян, заместитель министра сельского хозяйства и продовольствия Республики Беларусь Владимир Гракун, заместитель председателя Комитета технического регулирования и метрологии Республики Казахстан Куаныш Еликбаев, заместитель министра сельского хозяйства Кыргызской Республики Азамат Мукашев, заместитель министра сельского хозяйства Российской Федерации Максим Увайдов, заместитель руководителя Россельхознадзора Юлия Швабаускене и руководитель Российской системы качества Максим Протасов.
❗️ Об итогах совещания читайте в официальном пресс-релизе ⤵️
✅https://eec.eaeunion.org/news/zamestiteli-ministrov-selskogo-khozyaystva-stran-soyuza-rassmotreli-voprosy-obrashcheniya-organiches/
#ЕЭК#ЕАЭС#EAEU#EAEC
#блокКамаляна#АртакКамалян
📍 ЕЭК учтет вопросы цифровизации отрасли стройматериалов при подготовке нормативно-правовых актов
✅ Вопросы цифровизации отрасли строительных материалов обсудил заместитель директора департамента промышленной политики ЕЭК Николай Рогожник с представителями уполномоченных органов и бизнес-сообществ Евразийского экономического союза в рамках XXIV Международной архитектурно-строительной выставки BUDEXPO-2022 в Минске.
✅ «Новые подходы по цифровизации отрасли строительных материалов, представленные на выставке, будут приняты во внимание при разработке нормативно-правовых актов Комиссии, совместных инициатив и проектов в отрасли строительных материалов, представляющих взаимный интерес для государств-членов», – сказал Николай Рогожник.
🔷 Цифровая трансформация, выработка решений и рекомендаций по вопросам обеспечения эффективности работы строительной отрасли в условиях глобальных цифровых преобразований стали основными темами мероприятия. На главной специализированной конгрессно-выставочной площадке были представлены актуальные разработки для совершенствования городской среды, ключевые аспекты проектирования и строительства объектов социальной инфраструктуры, энергоэффективные решения в строительстве, а также концепции комфортного жилья и интеллектуальные системы управления зданиями.
Подробности ⤵️
https://eec.eaeunion.org/news/eek-uchtet-voprosy-tsifrovizatsii-otrasli-stroymaterialov-pri-podgotovke-normativno-pravovykh-aktov/
#ЕАЭС#ЕЭК#EAEU#EAEC
#АртакКамалян#блокКамаляна
📍 Евразийская экономическая комиссия стремится усилить позиции производителей кабельно-проводниковой продукции стран ЕАЭС
✅ Речь идет об усилении кооперации союзных государств в этой отрасли.
🔷 В рамках работы международной выставки «Cabex 2022» в Москве на пленарной сессии «Современные угрозы и вызовы для кабельной промышленности» об этом рассказал начальник отдела департамента промышленной политики ЕЭК Дмитрий Ярошенко.
🔷 Он ознакомил участников мероприятия со сформированным Комиссией и государствами Союза информационным Единым перечнем предприятий-производителей и потребителей кабельно-проводниковой промышленности. Были представлены основные тезисы нового Обзора кабельно-проводниковой промышленности ЕАЭС. Кроме того, участники проинформированы о мерах по дальнейшему развитию в Союзе отраслевого кооперационного сотрудничества.
✅✅✅ Подробности ⤵️
🌐https://eec.eaeunion.org/news/eek-podderzhivaet-kooperatsiyu-stran-soyuza-v-kabelno-provodnikovoy-sfere/
#блокКамаляна#АртакКамалян
#ЕЭК#ЕАЭС#EAEU#EAEC
📍 Страны ЕАЭС будут развивать технологии точного земледелия
✅ Коллегия Евразийской экономической комиссии приняла рекомендацию «О стимулировании использования технологий точного земледелия в государствах – членах Евразийского экономического союза».
🔷 Документ поможет создать в Евразийском экономическом союзе более благоприятные условия для повышения уровня использования сельхозтоваропроизводителями названных технологий.
❗️ «Ожидается, что реализация положений рекомендации будет способствовать повышению эффективности функционирования отрасли растениеводства в наших странах. Применение технологий позволит повысить урожайность сельскохозяйственных культур и их валовые сборы, что, как следствие, положительно скажется на уровне обеспеченности Союза продукцией собственного производства», – отметил министр по промышленности и агропромышленному комплексу ЕЭК Артак Камалян.
✅ Подробнее о новом документе -в официальном пресс-релизе ⤵️
🌐https://eec.eaeunion.org/news/strany-eaes-budut-razvivat-tekhnologii-tochnogo-zemledeliya/
#АртакКамалян#блокКамаляна
#ЕАЭС#EAEU#EAEC#ЕЭК
📍 Страны ЕАЭС обсудили перспективы развития общего рынка семян сельскохозяйственных культур
✅ Председатель Коллегии Евразийской экономической комиссии Михаил Мясникович и министр по промышленности и агропромышленному комплексу ЕЭК Артак Камалян провели круглый стол «Перспективы развития общего рынка семян сельскохозяйственных растений в рамках ЕАЭС». Мероприятие прошло на площадке ведущей Белорусской государственной сельскохозяйственной академии в Горках Могилевской области с участием руководителей министерств сельского хозяйства, представителей научных и учебных учреждений, бизнеса стран ЕАЭС.
🔷 Подробнее о событии ⤵️
https://eec.eaeunion.org/news/strany-eaes-obsudili-perspektivy-razvitiya-obshchego-rynka-semyan-selskokhozyaystvennykh-kultur/
#ЕАЭС#ЕЭК#EAEU#EAEC
#АртакКамалян#блокКамаляна