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

Резултати

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

Пребарај: #reggae

当前筛选 #reggae清除筛选
Tibicen

@world_music_geek · Post #465 · 10.11.2023 г., 17:02

Rezin Tooth — Rezin Tooth (Wax Thematique, 2020) #reggae#dub#United_States Секретный даб сайд-проект Натана Спайсера и его фанк-афробит группы Polyrhythmics из Сиэтла. По словам Спайсера, альбом записали просто в качестве развлечения и не собирались выпускать. К счастью, он все-таки увидел свет, потому что как в аранжировках, так и в работе звукорежиссёра чувствуется влияние Кинга Табби, Ли Перри, Scientist и других звезд раннего ямайского даба. Spotify | AppleMusic | Bandcamp | VK

Tibicen

@world_music_geek · Post #6 · 07.09.2020 г., 20:59

Inna De Yard — The Soul Of Jamaica (Chapter Two, 2017) #reggae#roots_reggae#Jamaica В начале нулевых французский регги-лейбл Makasound выпустил серию альбомов Inna De Yard, записанных под открытым небом. Специально для живых выступлений была создана группа с одноименным названием. Однако 2011 году лейбл Makasound исчез, а вместе с ним и Inna De Yard. Несколько лет спустя в парижской филармонии решили устроить выставку культуры Ямайки и сразу же обратились к Chapter Two, лейблу-преемнику Makasound, с предложением возродить традицию Inna De Yard. Сегодня молодые музыканты творят в высокотехнологичных студиях. Inna De Yard призывает к обратному – отвлечься от технологий и насладиться теплым звуком акустических инструментов. На этом альбоме собрались старейшины и пока ещё малоизвестных исполнители ямайского регги. Летом 2016 года всего за 4 дня они записали пластинку The Soul Of Jamaica под открытым небом. Spotify | AppleMusic

Tibicen

@world_music_geek · Post #8 · 09.09.2020 г., 10:36

Gladstone Anderson & Mudies All Stars — It May Sound Silly (Ashanti, 1973) #rocksteady#reggae#Jamaica Второй сольный альбом ямайского клавишника Гладстона Андерсона, участника многих классических ска и рокстеди записей 1960-х. Вся музыка на альбоме – инструментальный рокстеди. Альбом выделяется тем, что место вокала занимают струнные, исполняющие игривые, порой даже наивные мелодии, которые, видимо, и стали причиной, по которой альбом назван "it may sound silly" – "это может показаться глупым". Spotify | AppleMusic

Tibicen

@world_music_geek · Post #460 · 04.11.2023 г., 09:03

Groundation — Hebron Gate (Young Tree, 2002) #reggae#roots_reggae#jazz#United_States Hebron Gate — настоящая регги-опера. Альбом американской группы Groundation рассказывает историю «Войны Драконов», надвигающейся на мир: история начинается с восходом солнца и разворачивается в течение двадцати четырёх часов. И если вы знакомы с растафарианской культурой, то можете догадаться, что «война» связана с образом жизни западного общества, которое растафарианцы называют «Вавилон», и освобождение от которого проповедуют. Сам альбом назван в честь Хевронских Ворот — каменного портала в исторических стенах Старого города Иерусалима. Здесь вспоминается Вавилонское пленение — серия насильственных переселений значительной части еврейского населения из Иудейского царства в Вавилонию во времена правления Навуходоносора II. А так как растафарианство является ответвлением христианства (пусть и очень специфическим!), и Ветхий Завет ему не чужд, думаю, что можно трактовать возвращение евреев из Персии как метафору победы растафарианцев над «Вавилоном», ставшую формообразующей идеей альбома. Особый объём альбому придают и тексты песен, наполненные слабо понятными высказываниями на растафарианском языке «иярик» и размышлениями на важные для этого движения темы. Так, в песне «Silver Tongue Show» упоминается ряд борцов за равноправие: Маркус Гарви, Джордж Уильям Гордон, Стив Бико и Махатма Ганди. А в последних двух треках можно услышать настоящих легенд регги: Дона Карлоса и группу The Congos. В общем, перед нами довольно нетипичный образец растафарианской мысли, дающий богатую почву для поиска скрытых смыслов. Spotify | AppleMusic | Bandcamp | VK

Tibicen

@world_music_geek · Post #7 · 08.09.2020 г., 13:36

Prince Buster — Sister Big Stuff (Melodisc, 1972) #reggae#roots_reggae#rocksteady#Jamaica Sister Big Stuff – альбом регги-исполнителя Принца Бастера. Первоначально он был выпущен Melodisc в Великобритании в 1972 году, а в ноябре 2011 года его переиздал лейбл Sunspot Records. На момент своего первоначального выпуска Sister Big Stuff была революционной записью на регги-сцене. Несмотря на то, что альбом исполнен в стиле регги, в его звучании чувствуется сильное влияние популярных американских стилей того времени. Этот альбом также выделяется тем, что Принц Бастер делает отсылки к кино и поет о своих наблюдениях за жизнью в гетто, растафарианском евангелизме, детских стихах. Spotify | AppleMusic

ПретходнаСтраница 1 од 3Следна