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

Резултати

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

Пребарај: #cycles

当前筛选 #cycles清除筛选
Amazing Geography 🌍

@amazingeo · Post #459 · 17.11.2025 г., 12:31

🌍 Each year, vast dust storms from the Sahara cross the Atlantic, carrying nutrients that fertilize the Amazon rainforest. This airborne soil links continents in a natural, global recycling process. ✨ #cycles⚡#atmosphere⚡#continents⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #70 · 18.08.2025 г., 09:12

🌍 The global carbon cycle constantly moves carbon between the air, land, water, and living things. This cycle helps regulate Earth’s climate by storing and releasing carbon dioxide. ✨ #carbon⚡#climate⚡#cycles⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography🌍

Amazing Geography 🌍

@amazingeo · Post #548 · 31.12.2025 г., 20:31

🌍 Some lake water can take hundreds of years to fully circulate from the surface to the deepest layers and back again, creating slow, hidden water cycles that influence local climates and ecosystems. ✨ #hydrology⚡#lakes⚡#cycles⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #265 · 19.09.2025 г., 13:12

🌍 Earth’s tides are driven mostly by the Moon’s gravity, causing oceans to rise and fall all over the globe. These constant movements help mix ocean waters and shape coastal ecosystems. ✨ #tides⚡#ocean⚡#cycles⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography🌍 ​

Amazing Geography 🌍

@amazingeo · Post #384 · 17.10.2025 г., 18:31

🌍 Earth’s magnetic field flips direction every few hundred thousand years, a process called geomagnetic reversal. These flips are recorded in volcanic rocks and help scientists trace ancient geologic changes. ✨ #geomagnetism⚡#volcanism⚡#cycles⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

PRICE ACTION EXPERT

@priceactionexpert · Post #7663 · 03.08.2024 г., 16:38

https://x.com/priceactiongann/status/1819774789399224477 #nifty#nifty50#stocks Price and Time Relation: strong connection and cycle of 144 and 108 or 1440 and 1080 Nifty low of march 24 , 2020 = 7511 price Nifty all time high august 1 2024=25078 price price moved from low to high or total range from low to high is 17567 #trading Price 17567/144= 122 #priceaction 122x144=17658 Time taken to reach is 1081 bars and 1591 days 1080 trading days or bars to reach from low to high 1080/144=7.5 1080/1440=.75 17657 is price moved and 1081 is time taken 2.177860006167129 17657/1081 =16.33395004625347(163) 16.33395004625347/7.5 =2.177860006167129(216 or 217) 2.177860006167129x5 =10.88930003083565(108 or 1080) 1080 or 1081 days to reach from low to high! #Stocks 90 years cycle the great cycle is 90x12 =1080 months 18x60(great cycle) = 1080 circle 360 =3 (holytrinity)x360 =1080 3x3x3= 27 27x4 =108 108/3=36 666=6x6x6 also 108 is 18 degree cancer 108 is half of 216 (144 + 72) and its 1/4 of 432 #numerology#financialastrology#astrology 1080/666=1.62 If this post gets 108 likes and 108 comments i will post more calculations 1080/666=1.62 #time#price one important cycle about above number and how it connects to nifty high it will deal with other number like 555,666,777 etc. more u will get in that too once reaches 108 likes and 108 comments here. #stockmarket#stockmarketcrash#economy#timecycle#pricecycle#gann#cycles https://x.com/priceactiongann/status/1819774789399224477