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

Пребарај: #cubano

当前筛选 #cubano清除筛选
Comunidad de TWITTER en Cuba

@ClientesEtecsa · Post #12429 · 09.08.2025 г., 02:20

🗞🇨🇺☀️ ¡Buenos días! Les compartimos las primeras notas de este viernes, que se pueden leer con VPN desde Cuba: 📉 La zafra vuelve a batir su récord negativo, con menos de 150.000 toneladas https://bit.ly/4oH0vPc 🍞 La subida de las pensiones es “nada” para el hambre que tiene la tercera edad en Cuba https://bit.ly/47iDWtF 💧 Con los embalses secos, el agua llega a Sancti Spíritus sucia y con "mal olor" https://bit.ly/4mqoAs5 🛫 Santiago de Cuba remodelará su aeropuerto, donde usan bandejas para recoger el agua de lluvia https://bit.ly/47n6IJD 🎯 EE UU duplica a 50 millones de dólares la recompensa por la captura de Maduro https://bit.ly/4mCiJ2w 🇮🇱 El Gobierno israelí aprueba la ocupación de la ciudad de Gaza y el "control de seguridad" del enclave https://bit.ly/3J7xDiC 🎙️ ‘Como lo conocí’ del 8 de agosto de 2025, dedicado al disidente #cubano Vladimiro Roca https://bit.ly/45cjbPa 🎙️☕ Cafecito informativo del viernes 8 de agosto de 2025 https://bit.ly/3UlgrZw 📄 Como todos los viernes, les compartimos una selección con las noticias y artículos más destacados de '14ymedio' en versión descargable #PDFhttps://bit.ly/4mFefYZ 👋 ¡Hasta más tarde!

Hashtags

Comunidad de TWITTER en Cuba

@ClientesEtecsa · Post #12533 · 03.10.2025 г., 21:57

🗞🇨🇺☀️ ¡Buenos días! Les compartimos las primeras notas de este viernes, que se pueden leer con VPN desde Cuba: ⛓️ "Golpizas, torturas, humillaciones, amenazas de muerte" llevan a José Daniel Ferrer a aceptar el exilio https://bit.ly/3VO1tMk 🥚 En apenas siete meses, Dominicana duplica sus exportaciones de huevos a Cuba https://bit.ly/3KrcYqF ⚡️ Decenas de personas bloquearon calles y pidieron "corriente" durante el apagón de La Habana https://bit.ly/3VPIdxX ⛴️ Cuba alquiló el catamarán mexicano que viaja entre Batabanó y Nueva Gerona https://bit.ly/4ns1rpq 🛢️ El 80% del crudo venezolano enviado a #Cuba en septiembre llegó a bordo de tanqueros fantasmas https://bit.ly/46VpxC4 💥 Uno de los tres heridos en la explosión del hotel de Caibarién se encuentra en estado crítico https://bit.ly/4mOGKTD ✈️ Venezuela denunciará ante la ONU la "incursión ilegal de aeronaves de combate" de EE UU https://bit.ly/3VJogc9 🦟 Abre en Brasil la mayor fábrica del mundo de mosquitos para combatir el dengue https://bit.ly/48KUiMk 🎤 El trumpismo se indigna por la elección de Bad Bunny para el Super Bowl https://bit.ly/3VKtuV5 🎙‘Como lo conocí’ de hoy, dedicado al intelectual #cubano Walterio Carbonell https://bit.ly/478deDy 🎙☕️ Cafecito informativo de este viernes, Yoani Sánchez comenta las noticias más relevantes de Cuba en pocos minutos https://bit.ly/4nCkeyu 📄 Como todos los viernes, les compartimos una selección con las noticias y artículos más destacados de la semana en '14ymedio' en versión descargable #PDFhttps://bit.ly/4346dBh 👋 ¡Hasta más tarde!

Comunidad de TWITTER en Cuba

@ClientesEtecsa · Post #12435 · 11.08.2025 г., 15:36

🗞🇨🇺☀️ ¡Buenas tardes! Les compartimos más notas de este lunes, que se pueden leer con VPN desde Cuba: 💸 La Onei sigue ignorando los aumentos de #Etecsa en su cálculo de la inflación en julio https://bit.ly/4owsMI4 📄 Rumores de julio: asesinatos dentro del régimen #cubano y robo de documentos https://bit.ly/4mG4da2 🗳️ Las encuestas vaticinan una derrota aplastante de la izquierda en Bolivia en las elecciones del próximo domingo https://bit.ly/46RgsvI 👮‍♂️ La Policía venezolana defiende a su “amado comandante en jefe, Nicolás Maduro” https://bit.ly/3JcFBqF 🏐 Chile vence a Cuba y ambos acceden al clasificatorio para el Mundial de Catar 2027 https://bit.ly/46Rruku ✈️ México registra once millones de turistas extranjeros vía aérea en primer semestre de 2025 https://bit.ly/3Uklbyz 🇻🇪Muere el senador y precandidato presidencial #colombiano Miguel Uribe Turbay https://bit.ly/4owri0e 🎙️☕ Cafecito informativo del lunes 11 de agosto de 2025 https://bit.ly/3UZqtQ0 👋 ¡Hasta más tarde!

El friki de los libros

@AxiomaBlog · Post #2124 · 16.09.2021 г., 20:41

Preludio para un asesinato se desarrolla en La Habana, en los primeros años de la década del 60. El asesinato de Dalton Cutter —un extranjero dedicado a los negocios en nuestra capital— hace recaer sospechas sobre los miembros de dos «respetables» familias burguesas con las que mantenía estrechos vínculos. Los agentes encargados de la investigación del caso tienen ante sí un abanico de posibles culpables del crimen, dadas las características personales de Cutter, quien, aparte de sus múltiples actividades mercantiles, vivía inmerso en complicados trajines donjuanescos. El autor a través de un acertado empleo del suspense, logra una novela que contará con la favorable acogida de los lectores. #Cubano #ProyectoEWYA_007 #Radar #Policiaco @p_ewya