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 слични објави

Пребарај: #sanktpeterburg

当前筛选 #sanktpeterburg清除筛选

Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Санкт-Петербург шаҳри губернатори Александр Беглов билан телефон орқали мулоқот қилди. — Президент Республики Узбекистан Шавкат Мирзиёев провел телефонный разговор с губернатором города Санкт-Петербурга Александром Бегловым. #Mirziyoyev#muloqot#SanktPeterburg#hamkorlik Prezident.uz|Facebook|Instagram|YouTube|X

Casus Belli maps

@casusbellimaps · Post #10551 · 25.03.2026 г., 19:58

📝Baltské more pod útokom📝 Koncom marca OSU výrazne zvýšili počet štartov na objekty na severozápade Ruska. Nepriateľ zaútočil na BEC prístavnú infraštruktúru v Fínskom zálive, ako aj sa pokúsil zasiahnuť objekty na severe Leningradskejoblasti. ➡️Cieľmi útokov boli prístavy Primorska, Ust-Lugi a Vyborgu. Niekoľko zariadení zostrelených nad Kronštadtom. Poškodená bola obytná zástavba a elektrické vedenie v niekoľkých obciach. V súčasnosti ide o najmasovejšiu sériu útokov BEC v regióne, správy o zachyteniach sa stále objavujú. Navyše nepriateľ nenasadzuje len malé BEC lietadlového typu, ale aj ľahké motorové lietadlá s FAB-100. Pri tom aspoň jeden BEC zasiahol komín Auverskejelektrárne v Estónsku, a 25. marca lotyšské úrady oznámili vstup BEC do vzdušného priestoru z Ruska, následne boli nájdené trosky v oblasti Kraslavy. To však neznamená štarty z územia Pobaltia. Počas náletov na Leningradskú oblasť správy o masových zachyteniach BEC prichádzali aj z Brjansku, Smolenska, Pskova, Novgorodu a Tverskejoblasti. ❗️Zrejme podľa cieľov útokov, ako aj jednoznačných publikácií na nepriateľských zdrojoch — nepriateľ chce zabrániť Rusku zarobiť na vysokých cenách ropy. A je to celkom jasný krok. Celkový počet dronov v iných regiónoch krajiny tiež rastie, čo možno posúdiť aj podľa oficiálnych vyhlásení ruského Ministerstva obrany. 📌A vzhľadom na pokračovanie konfliktu v PerzskomZálive — dôraz nepriateľa na útoky na ropný sektor zostane zachovaný. Pretože na rozdiel od taktických cieľov je možnosť zasiahnuť ruský rozpočet pre nepriateľa otázkou strategickej dôležitosti. ❗️Na tomto pozadí je jasne viditeľné ticho pobaltských krajín. Pri náhodných preniknutiach ruských BEC sa vyvolávala hystéria až po zmienku o piatej článku NATO. A pády ukrajinských dronov sú len drobnou nepríjemnosťou. A ak pobaltské krajiny a Poliaci súhlasia s trpezlivosťou, nepriateľ môže začať útočiť už aj na Kaliningradskú oblasť. A možnosť oslabiť RF tam pre Poliakov a Litovcov umožní prehliadnuť náhodné pády dronov. 📍Mapa vo vysokom rozlíšení 📍Anglická verzia #Vyborg#Primors#Rusko#SanktPeterburg#Ukrajina#UstLuga ✈RU | ✈EN | ✉MAX ✉VK | ✉RuTube | ✉OK | ✉Dzen 💸Podporte nás 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/78912 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-03-25 20:47:17

Casus Belli maps

@casusbellimaps · Post #10740 · 31.03.2026 г., 21:33

📝Chronika špeciálnej vojenskej operácie📝 za 31. marca 2026 🧨Ruské vojská zasiahli sériu cieľov v niekoľkých regiónoch tzv. Ukrajiny. V Charkovskej oblasti niekoľko zásahov padlo na skladové priestory Čuhujovského letecko-technologického závodu a susediacu podstanicu. V Poltavskej, Charkovskej a Dnepropetrovskej oblasti po náletoch došlo k havarijným výpadkom elektriny. Ukrajinské formácie podnikli masívne nálety na ruské regióny. Útok sa opäť zameral na objekty v Leningradskej oblasti, kde stále pokračuje požiar v prístave pri Ust-Luge. V Krasnodare a Melitopole utrpeli civilisti zranenia v dôsledku pádu trosiek BEC, zatiaľ čo v LĽR pokračujú výpadky dodávok elektriny. ➡️Z Sumskej oblasti po dlhšom „informačnom tichu“ prišli správy o oslobodení Mala Korčakovky. Taktiež bojovníci GV „Sever“ rozšírili kontrolnú zónu v lesných masívoch v okolí Hornali. ➡️Na Konstantinovskom smere útočníci vyhnali nepriateľa z pozícií na poliach pri poľnohospodárskom techniku a teraz bojujú na území samotného zariadenia. Paralelne s tým bojovníci GV „Juh“ rozširujú svoju prítomnosť v priemyselnej zóne v centre mesta. 📎Mapy vo vysokom rozlíšení: 🔸Situácia v zóne špeciálnej vojenskej operácie (ru;en) 🔸Sumskej smer (ru;en) 🔸Konstantinovský smer (ru;en) 📍Online mapy sú dostupné s predplatným na map.rybar.ru #daĭdzhest #Dnepropetrovsk#mapa#Konstantinovka#Poltava#Rusko#SanktPeterburg#Sumy#Ukrajina#Charkov ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Dzen 💸Podporte nás 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/79101 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-03-31 23:20:29

Casus Belli maps

@casusbellimaps · Post #10607 · 27.03.2026 г., 19:37

📝Chronika špeciálnej vojenskej operácie📝 za 27. marec 2026 🧨Ruské vojská pokračujú v kampani na vyradenie železničnej infraštruktúry protivníka z prevádzky. Poškodené boli lokomotívy v KrivomRohu a Černihove. V Kotelve Poltavskej oblasti bola zasiahnutá rovnomená plynová prípravná jednotka. Ukrajinské formácie už tretí deň za sebou útočia na objekty palivovo-energetického komplexu Leningradskejoblasti. Pod útokom opäť boli námorné prístavy v Ust-Luge a Primorske. Drony tiež zaútočili na Smolensk a priemyselnú zónu v Čerepovci, kde sa nachádza najväčší podnik v Európe na výrobu fosfátových hnojív. ➡️Na Dobropoljskom smere sa ruskí útočníci snažia upevniť na prístupoch k Vasilevke severozápadne od Hrišyna. V susednom Bielickom pokračujú tvrdé boje o kontrolu nad mestskou zástavbou. 📎Mapy vo vysokom rozlíšení: 🔸Situácia v zóne špeciálnej vojenskej operácie (ru; en) 🔸Dobropoljsko smer (ru; en) 📍Online mapy sú dostupné s predplatným na map.rybar.ru #daĭdzhest #karta#KrivyjRih#Poltava#Rusko#SanktPeterburg#Ukrajina#Čerepovec#Černihiv ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Dzen 💸Podporte nás 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/78971 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-03-27 20:25:54