Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
RT Academy в Эфиопии: как это было
🎬🎬🎬🎬🎬
Четыре дня, десятки участников и насыщенная программа — вот как прошла наша поездка в Эфиопию.
✅ Обмен опытом
✅ Мастер-классы для журналистов, сотрудников пресс-служб, представителей Минобороны
✅ Темы — от международной журналистики и работы в горячих точках до съёмки на мобильный телефон
✅ Вручение сертификатов о прохождении обучения
✅ Посещение ведущих телеканалов страны
✅ Между RT и EBC подписан меморандум о сотрудничестве
Мастер-классы от RT Academy провели руководитель RT Africa Святослав Щёголев, старший корреспондент RT Мурад Газдиев, операторы RT Михаил Кондаков и Максим Сиротин, а также руководитель службы образовательных проектов RT Анна Ковтунова.
Если хотите узнать подробности: здесь — о первых двух днях, а здесь — о заключительных.
#rtacademy
❇️
RT Academy проводит мастер-классы для Африканского союза вещателей
Продолжаем работать в Африке! ❤️🔥 Провели первый вебинар для журналистов из стран — членов Африканского союза вещателей (AUB).
Сегодня рассказали, как создавать лучшие проморолики с применением ИИ. Руководитель дирекции креативных разработок RT Борис Горлов показал, как использовать нейросети при работе с видео, как делать дипфейки и пародийные промо, а также как обрабатывать архивы с помощью искусственного интеллекта. К мастер-классу подключились около 100 человек.
Обучение продолжится до конца ноября: впереди — модули о графике для эфира и соцсетей, видеомонтаже, съёмке, работе с камерами и микрофонами.
#rtacademy
🌍🌍🌍🌍
Об RT Academy в Индии и важности обучения будущих журналистов рассказывает Рунджун Шарма, директор новостного вещания RT India.
Это видео было записано специально для участников индийского курса. А мы делимся с вами!
#rtacademy
💚💚💚💚
Корреспондент в эфире: от подготовки до захватывающих репортажей
📆📆📆📆📆
Готовится обновление нашего африканского курса! Сняли мастер-класс на французском языке. Корреспондент RT en français Дарья Ваганова рассказала о подготовке к эфиру, видах работы в кадре, а также о том, как брать комментарии у официальных лиц и продвигать свой контент в соцсетях.
Ставьте реакции, если вам интересно посмотреть этот урок ❤️🔥.
Заявку на курс RT Academy можно подать на сайте до 26 октября.
RT Academy — международный образовательный проект RT. С 2024 года обучение прошли более 5 тыс. человек. Уже проведено пять больших онлайн-курсов для журналистов из стран Юго-Восточной Азии (ACEAH) и Южной Азии, Африки, Китая, Индии и для англоязычных журналистов со всего мира.
#rtacademy
❇
О работе журналиста в многополярном мире в новом уроке RT Academy
😎😎😎😎😎😎😎
В ожидании начала курса «Научпоп-журналистика» не забываем обновлять наши зарубежные курсы.
Записали новый видеоурок с обозревателем RT Тарой Рид. В своём мастер-классе она рассказывает о том, как двигаться от монополярного мира к многополярному, и о западной пропаганде, а также даёт практические советы, как журналисту быть услышанным сегодня.
Урок будет доступен участникам англоязычного курса RT Academy.
А пока предлагаем посмотреть бэкстейдж со съёмки 🎥.
#rtacademy
❇Школа RT
Африка… Ты готова❓
RT Academy запускает второй онлайн-курс по журналистике для начинающих и профессиональных журналистов из стран Африки.
Обучение будет проводиться на английском и французском языках и охватит все ключевые навыки для работы в современной редакции: от добычи эксклюзивной информации до подачи историй по стандартам международного вещания. Сотрудники RT поделятся реальными кейсами и практическими советами без лишней теории.
📎Участие бесплатное. Старт курса — 5 ноября. Заявки можно подать на сайте https://academy.rt.com/africa/ до 26 октября.
RT Academy — международный образовательный проект RT. С 2024 года обучение прошли более 5 тыс. человек. Уже проведено пять больших онлайн-курсов для журналистов из стран Юго-Восточной Азии (ACEAH) и Южной Азии, Африки, Китая, Индии и для англоязычных журналистов со всего мира.
#rtacademy
❇️
Студенты индийских университетов знакомятся в чате нового курса RT Academy.
Кто-то изучает съёмку и постпродакшен, кто-то исследует аутентичность коммуникации, а кто-то пишет о международных отношениях и геополитике.
💬 «Я хочу узнать больше о разных аспектах журналистики».
💬 «Моя сфера интереса — анализ международных новостей, связанных с информационными технологиями и геополитикой».
💬«Хочу интегрировать курс в свою практику, чтобы использовать его максимально эффективно».
Позади первая неделя обучения и вступительный вебинар.
На карточках — приветственные сообщения от участников. Подробнее о курсе — здесь.
#rtacademy
❇
📢Индийский курс RT Academy открыт!
Это наш первый поток по направлению «ТВ- и онлайн-журналистика», созданный для студентов индийских университетов. На нём всего 50 человек — мы специально ограничили набор, чтобы обеспечить высокое качество обучения и чтобы оно было максимально эффективным и полезным.
Участники уже получили доступ к платформе с уроками и начали знакомиться в чате.
🟩 Университеты
На курсе представлены студенты 16 университетов и колледжей, среди которых UPES (University of Petroleum and Energy Studies, Дехрадун) и Bennett University (Ноида), а также University of Delhi (Дели), University of Mumbai (Мумбаи) и Christ University (Бенгалуру) и др.
Большинство участников — учащиеся на бакалавриате, есть магистранты и несколько докторантов, преимущественно по направлениям «журналистика» и «массовые коммуникации», а также «международные отношения», «политология», «экономика» и «психология».
🟩 Возраст
От 17 до 30 лет.
🟩 Язык обучения
Курс проходит на английском языке.
Рады открытию нового направления и желаем всем успехов! Будем делиться фрагментами уроков и бэкстейджем в наших соцсетях.
Обучение на индийском курсе продлится месяц — с 8 сентября по 5 октября. Материалы подготовлены экспертами из разных редакций RT.
RT Academy — это международный образовательный проект RT. С 2024 года обучение прошли более 5 тыс. человек.
#rtacademy
❇
Диалог о медиа: RT Academy в Пекине
Пекин в эти дни — столица главных мировых новостей. Все следят за визитом Владимира Путина в Китай и саммитом ШОС.
Команда RT провела свой собственный саммит — с китайскими студентами, участниками курса RT Academy и подписчиками RT China.
Эксперты RT рассказали китайской аудитории о трендах в медиапроизводстве и ответили на вопросы слушателей. Больше всего спрашивали о работе международной редакции RT и о проектах RT China.
#rtacademy
💚💚💚💚
«Эти пять дней помогли мне сделать настоящий скачок в профессиональном развитии».
Делимся новыми отзывами о программе RT Academy от журналистов из ЮАР, Намибии, Зимбабве, Танзании и Нигерии.
А сейчас продолжается набор на новый поток онлайн-обучения — в этот раз для журналистов из Индии. Окончание приёма заявок — 31 августа.
Больше отзывов об образовательных проектах RT здесь.
#rtacademy
❇
📢Будущим индийским журналистам — новый курс от RT Academy
RT Academy открывает набор на онлайн-курс для студентов из Индии — начинающих специалистов в сфере медиа, международных отношений и политологии.
✉️ Заявки принимаются до 31 августа на сайте https://academy.rt.com/india/. Обучение проходит на английском языке, участие бесплатное — по конкурсу. Количество мест ограничено. Старт — 8 сентября.
В программе — практическая журналистика:
🟢работа в кадре и прямой эфир;
🟢съёмка и монтаж;
🟢соцмедиа и борьба с фейками;
🟢интервью, сторителлинг и многое другое.
Курс даёт возможность освоить полный цикл создания новостей — от идеи до публикации. Мастер-классы и лекции проводят корреспонденты, ведущие новостей, продюсеры и другие специалисты RT. Лучшие участники получат возможность продолжить обучение в рамках других программ RT.
RT Academy — это международный образовательный проект RT. С 2024 года обучение прошли более 5 тыс. человек.
#rtacademy
❇
Лучшие журналисты стран Африки — о курсе RT Academy
🗣🗣🗣🗣🗣🗣
Ведущие, корреспонденты, журналисты и даже руководители редакций африканских СМИ делятся впечатлениями о поездке в Россию и об обучении в RT Academy.
Все отметили русское гостеприимство и профессионализм наших спикеров.
Обучение проходило в Москве с 21 по 25 июля. За неделю специалисты RT рассказали, как продюсировать истории, выбирать темы, проверять факты, удерживать внимание аудитории, готовить материалы к эфиру и делать эфирный контент на мобильный телефон, а затем участники программы применяли полученные знания на практике.
#rtacademy
❇Школа RT