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

Резултати

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

Пребарај: #lra

当前筛选 #lra清除筛选
Постсовременность - Юрий Голубь

@postsovremennost_yuri_golub · Post #551 · 30.08.2024 г., 18:54

"Вагнер" против "Господней армии сопротивления". Часть 2 Но, по законам жанра, на каждого отморозка найдутся ещё более крутые ребята. 20 августа африканские информагентства сообщили об уничтожении всех лагерей «Господней армии» в Центрально-африканской республике, в которой тоже орудовали «поборники десяти заповедей». Совместную операцию провели войска ЦАР, Уганды и Южного Судана. Что именно представляет собой армия ЦАР и кто её инструктирует, хорошо известно. Весной этого года американский журнал Rolling Stone опубликовал обширный рассказ о том, как ЧВК «Вагнер» преследует Джозефа Кони буквально по пятам. Так, в начале апреля в ЦАР два вагнеровских вертолёта атаковали деревню Йемен, затерявшуюся посреди обширных полей марихуаны. В деревушке какое-то время жил самозванный пророк. Местные жители рассказали изданию о перестрелке, в которой погибли несколько человек. Поймать Кони тогда не удалось – вместе с соратниками он скрылся в густом кустарнике. Кстати, за Кони уже давно и безуспешно гоняется и Африком – африканское командование войск США. Давно – но отнюдь не с самого начала карьеры «генерал-майора» с голосами в голове. Несмотря на объявленную войну с терроризмом «Господня армия» не интересовала американцев вплоть до 2010 года – за это время организация успела обзавестись солидными активами в США, которые наконец-то были заморожены. Тогда эксперты объясняли внезапный интерес Вашингтона к Кони надеждой на маленькую победоносную войну. Африком не мог справиться с сомалийской террористической организацией «Аш-Шабаб» и выбрал цель попроще, чтобы оправдать расходы и доказать свою эффективность. Но не срослось. Авторы Rolling Stone сокрушались, что у «Вагнера» есть все шансы покончить с Кони и его людоедами, и в этом случае все страны региона развернутся в сторону Москвы, отказавшись от покровительства Вашингтона. #LRA#Кони#Вагнер#Африком

Постсовременность - Юрий Голубь

@postsovremennost_yuri_golub · Post #549 · 30.08.2024 г., 18:54

"Вагнер" против "Господней армии сопротивления". Часть 1 Одним из самых громких событий августа для Центральной и Восточной Африки стал обвинительный приговор бывшему командующему т.н. «Господней армии сопротивления» Томасу Квойело. Суд Уганды признал его виновным по 44 из 78 обвинений, включавших убийства, мародёрство, пытки, изнасилования и т.д. Сейчас Квойело 50 – в 12 лет он был похищен боевиками «Господней армии» в одной из угандийских деревень, сделал карьеру, в 2009 году был захвачен в Демократической республике Конго и с тех пор живёт в тюрьме. Суд над ним продолжается с 2019 года. Наказание пока не озвучено. В 2021 году другого командира группировки - Доминика Онгвена – Международный уголовный суд в Гааге приговорил к 25 годам заключения. Впрочем, эти судебные решения вовсе не значат, что «Господня армия сопротивления» обезглавлена. Она всё так же наводит ужас сразу на несколько стран, ведь её ведёт основатель и многолетний лидер – Джозеф Кони. В конце 1980-х, он, тогда служка одной из угандийских церквей, осознал себя «гласом Святого Духа» и «генерал-майором», сколотил из адептов армию и повёл её на борьбу против президента Мусевени. Мусевени правит Угандой до сих пор – четверть века продолжается и восстание. Теоретически «Господня армия сопротивления» борется за права народа ачоли и создание теократического государства, где все будут жить, соблюдая десять заповедей. Вот только уставшие от войн соплеменники не спешат поддерживать Кони – и поплатились за это сполна. На практике партизаны очень быстро зарекомендовали себя как необыкновенные – даже по африканским меркам – отморозки. «Господня армия» может дать солидную фору запрещённому в России Исламскому государству. Захватывая деревню, последователи Кони, как правило, убивают всё взрослое население и похищают детей. Мальчики становятся боевиками, девочки – секс-рабынями. Единство рядов фанатики укрепляют совместными каннибальскими трапезами. За четверть века секта – а это, без всяких сомнений, именно тоталитарная секта – пополнила историю Африки множеством кровавых эпизодов. Так, в октябре 1996 года на северо-западе Уганды сектанты напали на полицейский участок и школу, похитив 150 девочек. В январе 1997 «Армия» убила больше 400 человек на севере страны, а в июне 2006 напала на пригород нынешней столицы Южного Судана Джубы. Разумеется, боевики только себя считают истинными христианами и потому с особой жестокостью расправляются с конкурентами. 28 декабря 2008 года они устроили т.н. «Рождественскую резню» - убили 45 человек в церкви на северо-востоке ДРК, расчленили тела и разбросали останки по округе. #LRA#Кони#Вагнер#Африком

Ultimora.net - POLITICS

@Ultimorapolitics · Post #38159 · 02.05.2022 г., 14:52

#Sondaggi#Lettonia Sondaggio di Factum: #JV|EPP: 19% (+2) #NA|ECR: 12,5% (+0,5) #SDPS|S&D: 12% (+1) #AP (#LA-#Par-#Izaugsme)|RE: 10% #ZZS (#LZS-#LZP)|Verdi di centro-destra: 9% (-2) #K|Centro-destra: 9% (+2) #P|Centro-sinistra: 6% #LKS|G/EFA: 5% (-1) #KuK|Destra: 4% (-1) #LPV|Destra: 3% (-2) #Republika|Centro: 2% #LRA|Centro: 2% (-1) #PCL|Destra anti-establishment: 1% (-1) #NST|Estrema destra: 0,4% (-0,2) Data rilevazione: 26-29 aprile +/-: 29-31 marzo Intervistati: 969 @UltimoraPolitics