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

Резултати

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

Пребарај: #tuva

当前筛选 #tuva清除筛选
Tibicen

@world_music_geek · Post #646 · 04.06.2024 г., 12:12

Ay-Kherel — The Music Of Tuva (ARC Music, 2004) #traditional#igil#chanzy#Tuva#Russia «Ай-Херель» на тувинском языке означает «луч лунного света». В 1994 году группу основал однин из талантливейших мастеров обертонного горлового пения Владимир Серенович Соян. В репертуар «Ай-Херел» входит горловое пение, исполняемое в пяти стилях: хоомей, каргыраа, сыгыт, борбангнадыр и эзенгилер. Аккомпанемент исполнен на традиционных тувинских инстументах: игил, чанза, лимбэ. 🔗Spotify | AppleMusic

Tibicen

@world_music_geek · Post #1100 · 21.11.2025 г., 08:04

Oidupaa Vladimir Oiun — Divine Music From A Jail (Friends, 1999) #throat_singing#kargyraa#khoomei#bayan#accordion#tuvan#Tuva#Russia Владимир Ойунович Ойдупаа — тувинский музыкант, соединивший в своём творчестве стиль горлового пения «каргыраа» с игрой на баяне. Его манера оказалась настолько самобытной, что сегодня в среде тувинских музыкантов можно услышать выражение «ойдупаа-каргыраа» для описания такого стиля музыки. Некоторые авторы, в частности Марк ван Тонгерен в книге Overtone Singing: Physics and Metaphysics of Harmonics in East and West, отмечают сходство музыки Ойдупаа с блюзом. И не случайно: и в тувинской, и в афроамериканской музыкальных традициях присутствует лад, известный как бесполутоновая пентатоника. Именно он роднит эти, на первый взгляд, далёкие друг от друга культуры. Баян начал активно входить в тувинскую музыкальную традицию в 1960-х годах, когда возникли новые лирические жанры, вдохновлённые русской народной и популярной музыкой. Но лишь в конце 70-х — начале 80-х баян впервые стал сопровождать горловое пение, и Ойдупаа быстро стал одним из самых ярких исполнителей на нём в Туве. Из 55 лет своей жизни 33 года Владимир Ойунович провёл в исправительных лагерях — в Кызыле,Златоусте и Кемеровской области. Альбом Divine Music From A Jail он записал в кабинете начальника одной из колоний. По его словам, именно в эти годы он довёл свою музыку до совершенства. Во время заключения Владимир обратился в христианство. При этом, в интервью Оюмаа Хомушку он упоминал, что за свою жизнь прочитал много книг по дзен-буддизму и шаманизму, увлекался китайским фольклором, сказками и притчами, которые нередко становились источником вдохновения для его музыки. Синкретическое мировоззрение Ойдупаа, сочитающее тувинский шаманизм и христианство, можно увидеть на примере слов, открывающих песню It Is Echoing All Over The World: Там, где звучит каргыраа, там нет воин и раздоров. Там, где звучит каргыраа, там не ссорятся муж с женою. Там, где звучит каргыраа, нет падёжа скота. Там, где звучит каргыраа, там присутствует дух Божий. Во весь голос, во всю вселенную, прославляю имя Твое, Отец мой Небесный! Среди дальнего народа, среди ближнего, через каналы массовой информации, через экран телевизора, через кассетные магнитофоны, в тюрьмах и лагерях, прославляю имя Твое, Отец мой Небесный! Владимир Ойдупаа повсюду находил слушателей, нередко выступая на вокзалах во время своих поездок. В начале 90-х годов благодаря поклоннику из Японии он приобрёл известность в Европе и давал концерты в Швеции и Швейцарии. Однако вскоре после возвращения из гастролей его вновь арестовали и приговорили к очередному сроку. В 2007 году Ойдупаа стал участником «Минуты славы», российского телевизионного шоу талантов, аналогичного британскому Got Talent. Однако жюри не позволило ему завершить своё выступление. Татьяне Толстой его пение показалось неблагозвучным, а Юрию Стоянову — диссонирующим и «не радующим слух». Тут остаётся только посочувствовать жюри. Divine Music From A Jail изначально вышел в Швеции на малоизвестном лейбле Friends в 1999 году. К 25-летию альбома австрийский лейбл Ebalunga!!! подготовил его переиздание, ремастеринг которого сделала номинированная на премию «Грэмми» Джессика Томпсон. 🔗Spotify | AppleMusic | Bandcamp | Telegram

Tibicen

@world_music_geek · Post #436 · 26.08.2023 г., 08:23

Huun-Huur-Tu — 60 Horses In My Herd (Shanachie, 1993) #traditional#field_recording#chanting#throat_singing#khoomei#igil#khomus#doshpuluur#dunggur#Tuva#Russia Хуун-Хуур-Ту, или Хүн Хүртү по-тувински, — тувинская группа, исполняющая широкий набор стилей тувинского горлового пения «хоомей». Термин «хоомей» употребляется как в качестве общего названия тувинского горлового пения, так и для обозначения одного из основных его стилей, традиционно звучащего мягко, с основным тоном голоса в низком диапазоне. Пение в этом стиле подражает звукам ветра. Группа появилась в 1992 году под названием «Кунгуртук». В первоначальный состав выходили уже довольно опытные музыканты Кайгал-оол Ховалыг, братья Александр и Саян Бапа и Альберт Кувезин. На тот момент они были заинтересованы в сохранении тувинсого фольклора, поэтому играли только на традиционных музыкальных инструментах и исполняли народные песни, содержащие образы тувинской степи. Вскоре после основания группа сменила название на Хуун-Хуур-Ту, что означает «солнечный пропеллер» — визуальный эффект, который возникает, когда солнечные лучи падают на землю сквозь облака. В 1993 году группа совершила поездку в США, где записала свой дебютный альбом 60 Horses In My Herd. 🔗Spotify | AppleMusic | Telegram

Tibicen

@world_music_geek · Post #738 · 03.09.2024 г., 09:05

Регионы #Alsace#Auvergne#Castile#England#Guadeloupe#Martinique#Ngazidja#Occitania#Pennsylvania#Rajasthan#Reunion#Scotland#Sicily#Tibet#Trinidad#Tuva#West_Indies#Zanzibar#Bryansk#Arkhangelsk#Fashaga#Altai