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

Резултати

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

Пребарај: #musiceater

当前筛选 #musiceater清除筛选
Японское обозрение

@japanobserver · Post #2117 · 01.06.2021 г., 19:50

​​109. Michio Miyagi And Now for Something Completely Different. Митио Мияги, рожденного аж в 1894 году в Кобе, называют отцом современной японской музыки. Мияги и правда был великим композитором и исполнителем начала ИксИкс века. Модернизировал традиционный щипковый инструмент кото, сделав 17-струнное басовое кото и еще несколько его вариаций, а также ввел в японскую музыку элементы еврозвука — тремоло, стаккато, арпеджио и всё остальное, известное нам с уроков в музыкалке. Тащемто, не хочется здесь рассказывать про весь путь мастера. Для этого достаточно бегло прочесть вики о нем. Жизнь получилась действительно интересной. Из основного: Мияги и правда выдающийся, успел наделать кучу всего. В том числе и стать японской легендой, записать более 300 произведений, преподавать музыку в Токийско высшей школе музыки и задать вектор развития всему японскому саунду. А еще основать движение "Новая японская музыка", и так дальше и дальше. Важный момент — сделал он это всё будучи слепым с 7 лет (аналогия с американским музыкантом Moondog). Не знаю, чё это меня мотануло в эту степь сегодня. Спишем на первый летний день. Но всегда приятно узнавать истоки того или иного культурного влияния на современность. А в ней Мияги — бесспорное национальное достояние. Уморил вас своими рассказами. Лучше поставим что-нибудь раннее и светлое как восход Солнца. GM, дамы и господа! #musiceater#michiomiyagi

Японское обозрение

@japanobserver · Post #1483 · 05.08.2019 г., 10:22

​​12. Open Reel Ensemble Японцы настолько сумасшедшие, что смогуть сыграть музыку на чем-угодно, будь то собственный кровоток (об этом чуть позже), строительные инструменты или, как в этом случае катушечные магнитофоны Teac и Pioneer. Эй Вада, Харука и Масару Йошида играют magnetic punk - электронику, создаваемую аналоговыми приемами. Как и все гениальное, идея возникла случайно, когда более 15 ле назад Эй Вада ёбнулся о стопку рекордеров и повредил их. Открытие было в том, что после этого устройства стали издавать уникальные звуки. Посетите их сайт - там много крутых штук! #musiceater#magneticpunk#electronic#openreelensemble

Японское обозрение

@japanobserver · Post #2203 · 02.09.2021 г., 07:21

123. Вы что-нибудь слышали про listening bars в Японии? А между тем, это крайне примечательная штука. Японцы, как любители доводить всё до сумасшедшего идеала, развили формат баров, где слушают музыку, до уровня Высоцкого, а может даже и выше (привет, бумерский мем). А если серьёзно, концепция listening bar в том, что в небольшом помещении люди слушают хорошую музыку на отличной аппаратуре. Пьют, конечно, но больше слушают. Один из старейших и известных музыкальных баров Японии — SHeLTer в Хатиодзи. Его владелец Yoshio Nojima и, по его словам, он свою стерео-систему модернизирует уже 30 лет и конца и края этому процессу не слыхать. Название бара переводится как "убежище", что говорит о ценности уединения с любимой музыкой, побег от реальности, чем мы все грешим. Вообще, подобные бары — это то место, которым я хотел бы владеть, либо умереть в нём. Надо бы в общем глубже зарыться в тему. А пока что вам на вечер коротенький видос про SHeLTer. https://www.youtube.com/watch?v=qe5W7zvw10I&list=WL&index=2 #musiceater#videoeater#shelter#listeningbars

Японское обозрение

@japanobserver · Post #1938 · 13.01.2021 г., 08:58

​​78. Wata Igarashi Токийский DJ, вертелся на The Bunker, Delsin Records, The Bunker New York. Продолжает вертеть свои диски и эту планетку в жанре прогрессивной электроники и минимал техно. Также заверчен в проекте Indigo Cage Airlines, но это уже другая история. Вот его инст — https://www.instagram.com/wataigarashi Вот бэндкампус — https://wataigarashi.bandcamp.com #musiceater#wataigarashi#electronic#techno#ambient