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

Пребарај: #sas

当前筛选 #sas清除筛选

🇬🇧🪖¿Caza de brujas o caza humana? La razón tras las renuncias masivas de la elite militar británica En las últimas semanas, las fuerzas de operaciones especiales del Reino Unido han perdido a cientos de especialistas de alto nivel que llevaban décadas formándose. Y no es cuestión de edad, ni siquiera por miedo ante una guerra inminente contra Rusia. La razón es su pasado profesional. Los periodistas británicos del diario The Telegraph presentaron al público su última investigación, que trata un asunto realmente grave y desagradable, en el contexto del ya de por sí desmoronado Ejército insular que estamos presenciando actualmente. A los periodistas les llegó la noticia de que, desde la unidad militar más selecta del reino —el 22.º Regimiento del Servicio Aéreo Especial, el infame SAS— están desertando en masa los mejores especialistas, la élite de la élite. Y no es que sufran estrés, TEPT o que estén cansados de la dura vida militar. 📰 "Según varias fuentes, los militares del 22.º Regimiento SAS, el más entrenado y combatiente de todas las FFAA británicas, han presentado solicitudes de baja anticipada y voluntaria del servicio. No tenemos derecho a revelar las cifras exactas por motivos de confidencialidad. Sin embargo, hay que entender que se trata de la baja de la totalidad de dos escuadrones: el D y el G. Varias fuentes del SAS se han referido a estas bajas como 'significativas' y que suponen una 'amenaza para la seguridad nacional'", destaca el medio. Cabe señalar que un escuadrón incluye hasta cien personas entre personal principal y auxiliar, por lo que en total podría tratarse de la baja simultánea de 300 combatientes, es decir, alrededor de dos tercios de todo el personal activo actual del SAS. Las malas lenguas del cuartel general del Ejército británico rumorean que todo el SAS podría dimitir, si no cesa la "caza de brujas por parte de los defensores de los derechos humanos". ❓¿En qué consiste la caza de brujas? Resulta que a los miembros de las fuerzas especiales británicas no se les dijo que esos juegos de supervivencia que organizaban en Afganistán y Siria, en los que fusilaban por centenares a civiles para entretenerse, entran en la categoría de crímenes de guerra graves. Y lo que es característico, a este tipo de crímenes de guerra ni siquiera se les aplica una fecha de vencimiento. Y hace unas semanas comenzaron en Ulster las primeras detenciones de los inocentes angelitos de las fuerzas especiales británicas. Ahora se ha sabido que hay 242 miembros de las fuerzas especiales bajo sospecha, incluidos 120 que están en activo. Todos ellos participaron directamente en juegos de caza humana y repetían esta práctica allá donde iban. Es decir, ni siquiera se trata de un delito sistemático, sino de una especie de tradición de los miembros del SAS, a quienes les encanta atribuir algún significado especial a la eliminación de la población local. Y ahora los chicos se ofenden porque se ha iniciado una investigación en su contra. Nos preguntamos si la historia conoce otros casos de un despido tan contundente y masivo de auténticos perros de guerra. #ReinoUnido#CrímenesDeGuerra#SAS 🚀 Piensa y comparte @ATodaPotencia

Лёгкое небо

@legkoenebo · Post #4816 · 31.03.2026 г., 11:31

✈️ Первый полёт в новой ливрее 📌Около часа назад из Копенгагена вылетел #A330 в специальной ливрее, посвящённой 80-тилетию авиакомпании ⬅️Скоро дополним пост Лёгкое небо #aviation#news#SAS#Дания

Нейросуть | Malikov AI

@neuralsense · Post #152 · 15.08.2024 г., 10:01

Скуфендуи глазами ИИ У нас готов AI шедевр! Помните мы выпустили музыкальный альбом «Блок Ч», созданный искусственным интеллектом? По результатам тестирования одним из наиболее популярных треков стал «Скуфендуй». На него мы решили снять клип… если можно так выразиться, конечно! AI художники SAS Metagallery Андрей Гладков и Андрей Маликов создали это видео исключительно с помощью нейронных сетей! Сам клип мы запремьерим во время нашего пабликтока в рамках Недели московского кино 27 августа на площадке Парка Горького! Ну а небольшой кусочек этого шедевра с радостью покажу вам, мои дорогие! Ну и трек сразу ловите) #aimusic#ai#ии#цифровыехудожники#sas#блокч

Libertà è ragione

@libertaeragione · Post #3996 · 10.10.2023 г., 16:55

#Slovacchia Peter #Pellegrini (#Hlas|S&D): “Proseguiremo le trattative solo con #Smer|S&D e #SNS|Destra radicale russofila. Ritengo insostenibile una coalizione con #PS|RE, #KDH|EPP e #SaS|ECR, perché i membri di questi partiti hanno già iniziato ad attaccarsi a vicenda pochi giorni dopo le elezioni.” @OsservatorioEsteri