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

Резултати

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

Пребарај: #lotr

当前筛选 #lotr清除筛选
Aesthetica

@Aetatesolis · Post #4033 · 21.03.2025 г., 12:36

The Lord of the Rings 🎨 Darrell K. Sweet (🇺🇸, 1934-2011) Sweet was best known for providing cover art for science fiction and fantasy novels, in which capacity he was nominated for a Hugo Award in 1983. #tolkien #lotr AETATESOLIS

Aesthetica

@Aetatesolis · Post #3977 · 08.03.2025 г., 19:53

The Battle for Gondor Pictures taken of hand painted models, processed with video Al (Kling). clips edited with SFX and music in Premiere. Credit: Élément Magique (Movie and TV Studio) #lotr #miniature AETATESOLIS

Aesthetica

@Aetatesolis · Post #3798 · 21.01.2025 г., 17:32

Der Berggeist 🎨 Josef Madlener (🇩🇪, 1881-1967) Der Berggeist is "The Mountain Spirit". According to Carpenter, Tolkien bought the postcard during his trip to Europe. The envelope containing it was later found with the inscription: "Origin of Gandalf". However, the picture was painted about 1925-1930 and if I remember correctly the postcard was published 1935 in a folder with three or four other pictures. So the postcard must come by another way into Tolkien's hands. #tolkien#gandalf #lotr Source AETATESOLIS

Библиотека ХГУ

@libkhsu · Post #630 · 26.12.2024 г., 09:07

Джон Рональд Руэл Толкин - профессор Кафедры англосаксонского языка в Пембрук-колледже Оксфордского университета работал над восстановлением вымерших языков, таких как средневековый валлийский и ломбардский. Также он создал новые языки для своих произведений, например эльфийские Нандорин, Синдарин и Квенья. Ознакомиться с языками Средиземья можно на сайте проекта Elfdict. Словарь содержит 128662 слов. Не так давно Аляскинский университет в Фэрбенксе, Принстонский университет и Висконсинский университет в Мадисоне начали официально преподавать эльфийский язык. Несмотря на сложность языка, придуманного Толкином, курс пользовался большой популярностью. #цитата_недели#Толкин#ВластелинКолец#LOTR#LordOfTheRings

Velvet Pages | eLibrary 🥂

@bookslibraryofficial · Post #1397 · 15.08.2025 г., 14:48

📖Title : The Return of the King ✍️Author : J.R.R. Tolkien ⭐️Rating : 4.58/5 (Goodreads) 📆Published : Oct 20, 1955 ———————————————— Summary:In The Return of the King, the final volume of J.R.R. Tolkien’s The Lord of the Rings, the forces of Gondor and Rohan prepare for the ultimate battle against Sauron. Aragorn embraces his destiny as the true king, rallying allies and marching to the Black Gate as a diversion. Meanwhile, Frodo and Sam struggle through Mordor to destroy the One Ring in Mount Doom. Gollum’s obsession leads to his and the Ring’s destruction, ending Sauron’s reign. Peace returns to Middle-earth, Aragorn is crowned, and the hobbits return to a changed Shire. Frodo later departs with the Elves to the Undying Lands. ———————————————— #fantasy#fiction#classics#adventure#novels#LOTR@Bookslibraryofficial@free_novellas@thesciencelabs

Velvet Pages | eLibrary 🥂

@bookslibraryofficial · Post #1391 · 04.08.2025 г., 15:29

📖Title : The Two Towers ✍️Author : J.R.R. Tolkien ⭐️Rating : 4.50/5 (Goodreads) 📆Published : Nov 11, 1954 ———————————————— Summary:In The Two Towers, the Fellowship is broken. Frodo and Sam continue their perilous journey to Mordor to destroy the One Ring, joined reluctantly by the treacherous yet pitiful Gollum, who becomes both guide and threat. Meanwhile, Aragorn, Legolas, and Gimli pursue the Uruk-hai who have captured Merry and Pippin. Their paths lead to the war-torn kingdom of Rohan, where they aid King Théoden against the forces of Saruman. As darkness spreads and war looms, alliances are tested and hope flickers. The story deepens the moral complexity of the quest, showing how power corrupts and loyalty defines true heroism. ———————————————— #fantasy#fiction#classics#adventure#novels#LOTR@Bookslibraryofficial@free_novellas@thesciencelabs

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