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

Резултати

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

Пребарај: #seunkuti

当前筛选 #seunkuti清除筛选
TASTE OF AFRICA🌞

@taste_of_africa · Post #64 · 09.02.2026 г., 04:11

🗣️🎶 Taste of Africa: Язык и музыка 🌟🔔 «Ритмическое путешествие продолжается!» 🥁🌟 Когда речь становится ритмом, а мелодия — смыслом 🥁 В Африке язык и музыка часто звучат как единое целое, и это ощущается даже при первом знакомстве. В ряде языков региона (например, Yorùbá, Igbo и многих других) значение передают и слоги, и высота произнесения. 📌 Тональные языки используют тон (высоту голоса) для различения значений. Одна и та же последовательность звуков, произнесённая выше или ниже (или с другим контуром), передаёт другое слово. Ключевая мысль рубрики: 🎼 в песне мелодия работает как часть смысла и помогает ему звучать точно. 🎤 1) Как язык задаёт форму вокалу Тональная речь направляет вокальную линию к смысловой точности, поэтому в музыке часто встречаются такие решения: 🗣️ Вокал как речь: мелодия держится в узком диапазоне, звучит как разговор, уложенный в ритмический узор. 🔁 Хуки‑формулы: важная фраза повторяется, смысл закрепляется и становится общим. 👥 Call-and-response (вопрос–ответ): лидер произносит строку → хор отвечает и поддерживает. Формат создаёт ощущение общинного согласия: “мы услышали, мы повторили, мы поняли”. 🥁 2) Барабаны как продолжение языка Связь языка и музыки проявляется и через ритм речи. У каждой этнической традиции формируется свой набор привычек: ⏱️ акценты ✂️ паузы 📌 группировки слогов ⚡ ускорения и “перебросы” 🥁 Барабанные рисунки часто отражают эти принципы: ритм становится моделью речи. Поэтому в ансамблях барабаны звучат как участники диалога: отвечают голосу “репликой”, поддерживают ключевую фразу, закрепляют смысл повтором, в ряде традиций передают сообщения и статус через говорящие барабаны и кодированные сигналы. 🎧 Как услышать это в треке: представьте вокальную строку как фразу, произнесённую вслух. Когда перкуссия попадает в те же акценты, возникает ощущение разговора внутри музыки. 🌍 3) Кого послушать сегодня (по странам) 🎶 Под тему отлично подходят артисты, у которых композиция строится на риторике, повторе, коллективном ответе и “говорящем” груве. 🇳🇬 Нигерия • Fela Kuti — длинная музыкальная “речь” поверх гипнотического грува 🔥 fela-kuti.bandcamp.com • Seun Kuti & Egypt 80 — лозунг‑фраза ↔ ответ, энергия сообщества 👥 seunkuti.bandcamp.com 🇬🇭 Гана • Ebo Taylor — highlife/afro-funk, где риффы звучат как реплики 🎸 ebotaylor.bandcamp.com • Gyedu-Blay Ambolley — речевой фанк/highlife 🗣️ gyedublayambolley.bandcamp.com 🇸🇳 Сенегал • Orchestra Baobab — ансамбль как разговор: слои ответов и мягкий грув 🧵 orchestrabaobab.bandcamp.com 🇲🇱 Мали • Ali Farka Touré — фразировка как интонация речи, музыка “рассказывает” 🌀 alifarkatoure.bandcamp.com • Tinariwen — сила повтора и коллективного звучания 🌙 tinariwen.bandcamp.com 🇬🇳 Гвинея • Bembeya Jazz National — городская оркестровая традиция, где ритм держит “сюжет” 🎺 bembeyajazznational.bandcamp.com 🇪🇹 Эфиопия • Mulatu Astatke — этно‑джаз: интонации и паузы как пунктуация 🎷 mulatuastatke.bandcamp.com 🇿🇦 ЮАР • Hugh Masekela — инструмент “говорит”: вопрос–ответ, паузы, реплики 🗣️🎺 hughmasakela.bandcamp.com 🇹🇿 Танзания • Siti Muharam — суахили‑песня: текст и интонация ведут аранжировку ✨ sitimuharam.bandcamp.com 🎧 4) Мини‑упражнение (2 минуты) Выберите любой трек из списка и отметьте: 🎤 где вокал поёт, а где говорит/скандирует 🔁 какие фразы повторяются как “формулы” 🥁 где ритм‑секция отвечает голосу — как подтверждение смысла 🔄 Сохраняйте пост и приглашайте друзей в наше увлекательное путешествие вокруг света африканских ритмов!🎶🌍 #TasteOfAfrica#ЯзыкиАфрики#ЯзыкИМузыка#АфриканскаяМузыка#ТональныеЯзыки#Этномузыка#WorldMusic#AfricanRhythms#Drums#TalkingDrum#Djembe#CallAndResponse#Afrobeat#Highlife#AfroJazz#WestAfrica#EastAfrica#SouthAfrica#Nigeria#Ghana#Senegal#Mali#Guinea#Ethiopia#Tanzania#FelaKuti#SeunKuti#EboTaylor#OrchestraBaobab#AliFarkaToure#Tinariwen#MulatuAstatke#HughMasekela#SitiMuharam