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

Резултати

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

Пребарај: #internetofthings

当前筛选 #internetofthings清除筛选
IT Events RU

@iteventsru · Post #205 · 22.02.2018 г., 16:14

✅ Через неделю ИТ-форум BIT-2018 📅 1 марта / 09:30 (время Самарское, МСК+1) / Самара, ул. Алексея Толстого, 99 💵 Платно 📝 Регистрация и условия участия тут: https://goo.gl/SQ91aU Программа BIT-2018 обещает быть чрезвычайно насыщенной и интересной! Так, в тематику Форума входят следующие направления: ~ Вопросы применения ИТ в бизнесе ~ Облачные технологии и решения ~ Интернет вещей (IoT) и «умные» решения в бизнесе, повседневной жизни и на производстве ~ ЦОД и технологии для их построения, работы и обслуживания ~ Передача звука и видео по сетям. АТС, построение контакт-центров и охранных систем и другие применения IP-технологий ~ Вопросы импортозамещения в ИТ и взаимодействия с госструктурами ~ Кадры в ИТ, построение команд, взаимодействие и контроль ~ Интернет, соцсети и мобильные технологии для бизнеса, IoT и бизнес ~ Информационная безопасность и сертификация ~ Бизнес-аналитика (Business Intelligence) и пр. 🔗 Программа: https://goo.gl/3bTNc3 #business#BusinessIntelligence#CloudTechnologies#security#InternetOfThings#IoT#Самара

IT Events RU

@iteventsru · Post #287 · 16.03.2018 г., 16:13

✅ Через неделю ✅ OpenHack: контейнеры и микросервисы 📅 22–24 марта / 09:00–17:00 (время МСК) / Москва, ул. Крылатская 17/1 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/fMq5BG Присоединяйтесь к нам на три дня заполненных практическим изучением микросервисных и/или контейнероориентированных сценариев для Azure Container Services (AKS), Azure Container Instances и Service Fabric в командах с другими разработчиками. 🔗 Программа: https://goo.gl/fMq5BG #hackathon#backend#microservices#containers#kubernetes#Москва ✅ BIT-2018 📅 22 марта / 09:30–17:00 (время МСК) / Москва, Олимпийский проспект, 18/1 💵 Платно 📝 Регистрация тут: https://goo.gl/4zn3te В рамках формума BIT-2018 вы сможете узнать и обсудить с коллегами и представителями ведущих вендоров актуальные вопросы и тенденции, связанные с ИТ в бизнесе, созданием и эксплуатацией ЦОД, использованием облачных и IP-технологий, инфраструктурой и использованием данных, а также открыть для себя «Интернет вещей». 🔗 Программа: https://goo.gl/3xFCkn #cloudtechnologies#informationsecurity#InternetOfThings#Москва ✅ Agile Smart Talk 📅 22 марта / 18:30–22:00 (время МСК) / Санкт-Петербург, Пулковское шоссе, 40/4 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/92eaGV Agile Smart Talk — встреча для тех, кто готов по-новому взглянуть на рабочий процесс и повысить эффективность работы своей команды, используя новейшие тенденции Agile. 🔗 Программа: https://goo.gl/92eaGV #agile#WorkingProcess#СанктПетербург ✅ ShortTrack — конференция для ИТ-бизнесов 📅 23–25 марта / 17:00–18:00 (время МСК) / Санкт-Петербург, Льва Толстого 1-3 💵 Платно 📝 Регистрация тут: https://goo.gl/bqVvek C 23 по 25 марта в Санкт-Петербурге команда ФРИИ проведёт интенсив ShortTrack — программу для тех, кто хочет привести в порядок свой бизнес всего за 3 дня! 🔗 Программа: https://goo.gl/RPdnoF #business#startup#СанктПетербург

IT Events RU

@iteventsru · Post #307 · 21.03.2018 г., 16:13

✅ Завтра ✅Angular Meetup SPB 📅 22 марта / 19:00 — 21:00 (время МСК) / Санкт-Петербург, , Херсонская ул., 12 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/d18SXb Мы решили привезти Angular Meetup в Питер! Уже готовим докладчиков. Как всегда будет много Angular — расскажем об опыте использования, обсудим актуальные проблемы и попробуем разобраться, какие тренды ожидают нас в ближайшем будущем. 🔗 Программа: https://goo.gl/d18SXb #frontend#Angular#JavaScript#СанктПетербург ✅#большечемденьги: деньги в блогах 📅 22 марта / 19:20–20:30 (время МСК) / Москва, ул. Льва Толстого, 16, офис Яндекса + онлайн 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/Lnx1B8 В четверг, 22 марта, обсудим деньги в блогах: сколько стоит популярность, как зарабатывают успешные видеоблогеры и можно ли прожить на донаты. 🔗 Программа: https://goo.gl/QKmw6a #blog#cash#Москва#онлайн ✅ OpenHack: контейнеры и микросервисы 📅 22–24 марта / 09:00–17:00 (время МСК) / Москва, ул. Крылатская 17/1 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/fMq5BG Присоединяйтесь к нам на три дня заполненных практическим изучением микросервисных и/или контейнероориентированных сценариев для Azure Container Services (AKS), Azure Container Instances и Service Fabric в командах с другими разработчиками. 🔗 Программа: https://goo.gl/fMq5BG #hackathon#backend#microservices#containers#kubernetes#Москва ✅ BIT-2018 📅 22 марта / 09:30–17:00 (время МСК) / Москва, Олимпийский проспект, 18/1 💵 Платно 📝 Регистрация тут: https://goo.gl/4zn3te В рамках формума BIT-2018 вы сможете узнать и обсудить с коллегами и представителями ведущих вендоров актуальные вопросы и тенденции, связанные с ИТ в бизнесе, созданием и эксплуатацией ЦОД, использованием облачных и IP-технологий, инфраструктурой и использованием данных, а также открыть для себя «Интернет вещей». 🔗 Программа: https://goo.gl/3xFCkn #cloudtechnologies#informationsecurity#InternetOfThings#Москва ✅ Agile Smart Talk 📅 22 марта / 18:30–22:00 (время МСК) / Санкт-Петербург, Пулковское шоссе, 40/4 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/92eaGV Agile Smart Talk — встреча для тех, кто готов по-новому взглянуть на рабочий процесс и повысить эффективность работы своей команды, используя новейшие тенденции Agile. 🔗 Программа: https://goo.gl/92eaGV #agile#WorkingProcess#СанктПетербург

IT Events RU

@iteventsru · Post #250 · 28.02.2018 г., 10:14

✅ ЗАВТРА ✅ International Blockchain Summit Moscow 📅 1 марта / 09:00 (время МСК) / Москва, 1-й Зачатьевский пер., дом 4, EVENT-ХОЛЛ «ИнфоПространство» 💵 Платно 📝 Регистрация: https://goo.gl/1Japke #blockchain#cryptocurrency#криптовалюта#блокчейн#Москва ✅Хакатон HR 📅 1–2 марта / 10:00–20:00 (время МСК) / Санкт-Петербург, Петербургское ш., 64к1, Зал F 💵 Бесплатно 📝 Регистрация: https://goo.gl/8JfLNU #HR#automation#автоматизация#СанктПетербург ✅Quantum Technology Forum https://goo.gl/XBjN6U 📅 1 марта / Россия, Москва, Поклонная ул, д.3А стр.4 💵 10 000 ✅ Barnaul Blockchain Meetup #2 📅 1 марта / 19:00–21:00 (время Барнуала, МСК+2) / Барнаул, ул. Пролетарская, 117, Digital Space 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/tFnfHP #blockchain#cryptocurrency#криптовалюта#блокчейн#Барнаул ✅ MoscowJS 40 📅 1 марта / 19:00–21:30 (время МСК) / Москва, ул. Лесная, д. 7 (БЦ Белые Сады, 15 этаж) 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/FChvif #frontend#javascript#HTML#css#Москва ✅ Яндекс изнутри: от алгоритмов до измерений 📅 1–3 марта / 19:00–22:00 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/rmKFd4 #machinelearning#МашинноеОбучение#DataScience#online#онлайн ✅ SEO — 2018: мировые тренды 📅 1 марта / 19:00–21:30 (время МСК) / Санкт-Петербург, ул.Заставская, д.22А (БЦ МегаПарк, офис SEMrush ) 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/LbUAYc #SEO#marketing#onlinemarketing#маркетинг#СанктПетербург ✅ Код ИБ ПРОФИ 📅 1 марта-4 марта / 10:00–18:00 (время МСК) / Москва, Ленинградское ш., 39 строение 1 + трансляция онлайн 💵 Платно 📝 Регистрация и условия участия тут: https://goo.gl/EcR3KW #InformationSecurity#ИнформационнаяБезопасность#Москва#онлайн ✅ ИТ-форум BIT-2018 📅 1 марта / 09:30 (время Самарское, МСК+1) / Самара, ул. Алексея Толстого, 99 💵 Платно 📝 Регистрация и условия участия тут: https://goo.gl/S15kby #business#BusinessIntelligence#CloudTechnologies#security#InternetOfThings#IoT#Самара ✅Десятая встреча JUG.EKB 📅 1 марта / 19:30–22:30 (время Екатеринбурга, МСК+2) / Екатеринбург, пер. Химиков, 3 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/KPzr9L #backend#java#spring#Екатеринбург ✅ Blockchain Analytics MeetUp SPb 📅 1 марта / 19:30 — 21:30 (время МСК) / Санкт-Петербург, Дегтярный переулок, 11 лит Б 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/GoCLQ9 #blockchain#cryptocurrency#криптовалюта#блокчейн#СанктПетербург ✅ International Blockchain Summit Moscow 📅 1 марта / 09:00 (время МСК) / Москва, 1-й Зачатьевский пер., дом 4, EVENT-ХОЛЛ «ИнфоПространство» 💵 Платно 📝 Регистрация, условия участия тут: https://goo.gl/1Japke #blockchain#cryptocurrency#криптовалюта#блокчейн#Москва ➕Все мероприятия месяца смотрите в прикрепленном посту. ➕Программа и условия мероприятий может менять, — смотрите актуальную информацию на сайте организаторов. ➕Если регистрация уже закрыта, то попробуйте связаться с организаторами мероприятия, — возможно они сделают исключения. Регистрация может проходить волнами, в таком случае просто дождитесь следующей волны.