Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Что такое MCP и зачем он нужен?
MCP - универсальный протокол взаимодействия LLM с внешним миром.
Привожу примеры применения из поста Min Choi:
1. Figma MCP
Общайтесь напрямую с Figma и создавайте современные мобильные экраны входа в систему.
2. Ableton MCP
Создавайте музыку, используя только подсказки.
3. Unity MCP
Общайтесь напрямую с Unity, чтобы создавать целые игры всего лишь с одной подсказкой.
4. WhatsApp MCP
Отправляйте и получайте изображения, видео и голосовые заметки через WhatsApp.
5. ElevenLabs MCP
Запускайте голосовых агентов для выполнения исходящих звонков от вашего имени, например, заказа пиццы.
6. Shopify MCP
Разрабатывайте и совершенствуйте операции с использованием GraphQL.
7. BioMCP
Открытые API для биомедицинских исследований, предназначенные для поиска и получения клинических испытаний, статей PubMed и вариантов генома.
8. Supabase MCP
Чтение и запись данных в вашу базу данных.
9. GitHub MCP
Без комментариев.
10. Unreal MCP
Стройте всё что угодно в движке Unreal Engine, используя только подсказки.
#mcp
https://t.me/semasci
👍MCP теперь реализован в GPTunneL
MCP (Model Context Protocol) — общий стандарт, через который ассистенты подключают внешние сервисы. Если сервис поддерживает MCP, вы просто указываете его адреси получаете безопасный доступ к своим данным прямо из чата.
Например, через MCP подключаете ваш Notion\Linear и «разговариваете» с заметками в чате ассистента GPTunneL.
Также доступны официальные MCP-серверы для GitHub, Jira/Confluence, Stripe и PayPal, Plaid, Google Drive, Dropbox и др.
〰️Наша платформа поддерживает удаленное подключение по MCP.
Проверьте: возможно, ваш любимый сервис уже имеет подобную интеграцию.
🔗Подключиться через GPTunneL
#mcp@gptunnel
Что такое Model Content Protocol и зачем он нужен?
Model Content Protocol (MCP) — это открытый протокол, который позволяет AI-моделям напрямую взаимодействовать с внешними данными, инструментами и API. Он убирает сложность интеграции и делает процесс подключения гораздо проще.
👉 Стандартизированный доступ к данным. MCP задаёт единый формат взаимодействия с БД, API или файловыми системами.
👉 Интерактивность. Модель может не только читать данные, но и выполнять действия — например, обновлять записи или конфигурации.
👉 Упрощённое подключение инструментов. Достаточно описать интерфейс, и MCP готов к работе в поддерживающих клиентах (например, Claude Desktop).
👉 Open source. MCP формирует экосистему совместимых серверов и инструментов, которыми легко делиться.
Где это полезно?
👉 Подключение AI к внутренним сервисам компании.
👉 Улучшение IDE — автогенерация, поиск по коду.
👉 Построение цепочек команд, когда AI сам запрашивает нужные данные.
Главная идея: MCP создаёт мост между моделью и миром данных, делая AI более контекстным и полезным без постоянного “кормления” контентом.
В комментариях делитесь MCP, которые уже используете
#ai#mcp
🐱Play Store MCP Server - open source Model Content Protocol сервер, который позволяет взаимодействовать с Google Play Console для публикация и управления публикациями приложений.
Что уже можно сделать:
👉 Загрузить сборку Android приложения
👉 Переводить релизы между треками
👉 Запросить статус релиза
❗️Решение пока находится в разработке, но уже рабочее
#googleplay#ai#mcp
⚡️ Anthropic радует разработчиков — вышел каталог MCP-коннекторов для Claude
Если вы любите кодить в вайбе, вот отличный апдейт: Anthropic выкатили новый каталог Connectors, в котором собраны проверенные MCP-интеграции — для автоматизации, расширения функционала и прокачки собственных агентов.
Что внутри?
🟡 Поддержка популярных сервисов вроде Figma, Notion, Stripe
🟡 Коннекторы для десктопов — есть даже MCP для Claude под macOS
🟡 Аккуратная библиотека, в которой все подключается без боли
Каталог тут:claude.ai/directory
🤑ForgetMe | Boosty | ForgetBench | ForgetGPT | ForgetAPI
#claude#новости#mcp#нейросети