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

Резултати

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

Пребарај: #shostakovich

当前筛选 #shostakovich清除筛选
音乐小本本

@PaulsNote · Post #303 · 30.01.2020 г., 05:37

苏共:这首曲子一定要激昂!体现我们坚决反对法西斯的红色情怀!!保卫列宁格勒!! 老肖:好的👌 老肖:结尾处,整整五大页,三分钟,fff极强。宏大、单调、重复、永不停歇、毫无波澜。🌚 演出后: 苏共:要的就是这种!!! 人民:🥳🥳🥳打倒法西斯! 老双面人了🌚 #Shostakovich#Musicology

音乐小本本

@PaulsNote · Post #1045 · 20.12.2024 г., 04:59

肖斯塔科维奇 - 24前奏曲 Op.87 第15首: 降D大调 用了“Wish you a merry Christmas"动机。该主题为16世纪英国民间小调。 肖斯塔科维奇将该动机改动,融入前奏曲中。 第二部分为赋格,主题采用逐渐发散的形式,用“不稳定”的动机支撑稳定的曲式结构。 圣诞音乐周🎄Day 2 (都说了这期圣诞音乐会是非常规hhhhh😈😈) #Shostakovich#MusicWeek https://youtu.be/Kh6XqDx3v_s

Embassy of Russia in Singapore

@rusembsg · Post #4259 · 25.09.2025 г., 06:52

🎶🎼#OTD on September 25, 1906, the outstanding Russian composer Dmitri #Shostakovich was born in Saint Petersburg. A child prodigy, he entered the Petrograd Conservatory at the age of 13, where he studied piano and composition. His graduation work, Symphony No. 1, brought him international fame at just 19 years old. Shostakovich went on to become one of the greatest composers of the 20th century, authoring 15 symphonies, 15 string quartets, and world-renowned masterpieces such as Symphony No. 5, Symphony No. 7 “Leningrad”, and the String Quartet No. 8. Symphony No. 7 “Leningrad” became a symbol of Soviet resistance during World War II and was performed in besieged Leningrad in 1942. #Victory80 His works reflect both the triumphs and tragedies of his time, balancing dramatic intensity with profound humanity.

Classical Music

@exploreclassical · Post #276 · 12.05.2021 г., 15:50

分享Shostakovich最有名的String Quartet~是他的著名作品中唯一一首在国外(东德)创作的,”In Remembrance of the Victims of Fascism and War” 。里面肖斯塔科维奇的DSCH motif (D - bE - C - B)。另外这首作品还有orchestra arrangment op. 110a #shostakovich#chamberMusic https://www.youtube.com/watch?v=41HIXtBElH4 ref: 1. https://cso.org/uploadedFiles/1_Tickets_and_Events/Program_Notes/ProgramNotes_Shostakovich_ChamberSymphony.pdf 2. http://www.quartets.de/compositions/ssq08.html 3. DSCH motif - https://en.wikipedia.org/wiki/DSCH_motif

PiaNinoNotovna

@ninonotovna · Post #475 · 14.01.2026 г., 14:26

АМАЗОНКИ ПИАНИЗМА: ТАТЬЯНА НИКОЛАЕВА 1924-1993 Она была очень маленькая. Очень! И ручки маленькие. А Звук… если не знать, кто играет, никогда не поверишь. Они встретились сразу после войны в разрушенном в прах Лейпциге: Шостакович и Бах… в ее исполнении. А дальше были 24 прелюдии и фуги Шостаковича, которые стали ее навсегда. Никто так не мог их играть ни до, ни после. Современную музыку всегда играли неохотно. А после 1947/1948 и прочих «формализмов в музыке», тем более. Она взялась. Оказалось по силам. Силы были большие, как выяснилось. Ведь она, на самом то деле, была настоящий Композитор. Это слышно. Шостакович Концерт №2, Вторая часть https://youtu.be/d94DLBjTfZo?si=u-jsZixKAw4tVyes #piano #contemporarymusic #Shostakovich PS Друзья, для тех, кто не знает: «формализм в музыке» - это из постановления «Об опере «Великая дружба»» ЦК ВКПб 1948 года, после которого… жить композиторам стало еще труднее.

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