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

Резултати

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

Пребарај: #liverpool

当前筛选 #liverpool清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35980 · 27.11.2024 г., 22:05

⚽️🇪🇺Champions Liverpool 2-0 Real Madrid#Champions#Liverpool#RealMadrid La nueva Champions se ha convertido en un suplicio para el Rey de Europa. Cayó en Anfield pese a cuajar un partido correcto, enganchado al dominio de su guardameta, Thibaut Courtois. No acudió Kylian Mbappé en el día que más se le necesitaba, sin Vini. El francés porrogó su melancolía, casi desonectado, frente a un Liverpool superior, aunque perdonó mucho y tuvo su momento crítico. Tuvo Mbappé un penalti para igualar, desvió Kelleher y allí acabaron las opciones de un Madrid que tendrá que sudar su clasificación para el play-in. Además, perdió por lesión a Camavinga. Una amarga noche europea. https://www.marca.com/futbol/champions-league/cronica/2024/11/27/6747956a46163f69bb8b456f.html 🏆@Info288_deportes

TONlines – News

@tonlines · Post #6854 · 19.04.2025 г., 10:48

⚡️Fanton EN: EPL Gameweek 31 Preview and Strategies #EPL#Liverpool#ChampionsLeague Fanton EN covers the upcoming EPL Gameweek 31, highlighting key strategies and matches to watch. Liverpool and Arsenal are favored, while Aston Villa vs Newcastle is a decisive clash for Champions League spots. Key player picks include Salah and selections from City's attack. EPL fans can participate in the Grand EPL $5,000 event. Source: link @tonlines

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35107 · 30.08.2024 г., 11:00

⚽️🏴󠁧󠁢󠁥󠁮󠁧󠁿Premier Federico Chiesa ficha por el Liverpool#Liverpool#Chiesa El delantero internacional italiano Federico Chiesa se ha convertido este jueves en nuevo jugador del Liverpool, equipo en el que jugará la próxima temporada, y al que llega procedente de la Juventus después de cuatro campañas en el club italiano en las ha disputado 131 partidos, marcando 32 goles, según informó el conjunto 'red' en los medios del club. El Liverpool anunció su fichaje después de que completara el examen médico previo a su incorporación. En la última campaña con 'la vecchia signora' firmó once goles en 44 encuentros, volviendo a los terrenos de juego después de estar casi diez meses sin jugar por una rotura del ligamento cruzado anterior de la rodilla izquierda. https://www.europapress.es/deportes/futbol-00162/noticia-federico-chiesa-ficha-liverpool-20240829164608.html 🏆@Info288_deportes

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40245 · 03.12.2025 г., 19:00

The city with the most No.1 hit singles on the UK chart per head of population is Liverpool. (pop. 439,473) With local bands achieving 56 hits - 1 per 7,8 Liverpudlians. In second place is London. (pop.7,824,000) Whose bands have had more No.1's with 102, but which calculates at 1 per 76,7 Londoners. Interactive part: If you know groups or musicians that are from these two cities post the music or (band)names in the comments. @googlefactss [Source] 🏆🎹🎷🎵🎸🎺🎻🎶 #Music#Liverpool#GuinnessWorldRecord

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35171 · 02.09.2024 г., 08:45

⚽️Liverpool Salah anuncia su salida del Liverpool a final de temporada#Liverpool#Salah El anunció llegó tras su brillante actuación, otra más, en la contundente victoria por 0-3 en Old Trafford ante el Manchester United. El egipcio, con un gol y dos asistencias a Luis Diaz, participó en los tres goles de los 'reds'. Lógicamente, fue designado como el mejor jugador del encuentro. Tras él, fue preguntado por su futuro en el club. Un tema candente en los últimos tiempos, ya que se le ha vinculado en numerosas ocasiones con Arabia Saudí y su contrato en Anfield expira el próximo 30 de junio. Salah, al igual que hizo Klopp en su momento, se sinceró delante de los micrófonos de 'Sky Sports' y anunció su salida del club en diferido. "Como sabéis, es mi último año en el club. Sólo quiero disfrutarlo y no quiero pensar en ello. Nadie en el club ha hablado conmigo todavía sobre renovar, así que está bien, jugaré mi última temporada". https://www.marca.com/futbol/premier-league/2024/09/01/66d4b546268e3ed8088b458d.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35684 · 23.10.2024 г., 21:20

⚽️🇪🇺Champions Leipzig 0-1 Liverpool#Champions#Leipzig#Liverpool Un solitario tanto de Darwin Núñez mantiene el pleno del Liverpool en esta Champions League. El delantero uruguayo tubó al Leipzig, que lo intentó de todas las formas posibles pero que sigue con su casillero de puntos a cero. https://www.marca.com/futbol/champions-league/cronica/2024/10/23/67192ad1268e3e13448b4577.html Otros marcadores Atalanta 0-0 Celtic Brest 1-1 Leverkusen Benfica 1-3 Feyenoord Manchester City 5-0 Sparta Praga Salzburgo 0-2 D. Zagreb Young Boys 0-1 Inter 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #36029 · 01.12.2024 г., 19:05

⚽️🏴󠁧󠁢󠁥󠁮󠁧󠁿Premier Liverpool 2-0 Manchester City#Premier#Liverpool#ManCity El Liverpool dio, con un triunfo claro ante el City (2-0), un golpe definitivo (y en diciembre) a una Premier que se pone más 'roja' que nunca: nueve puntos de ventaja del Liverpool a sus inmediatos perseguidores (Arsenal y Chelsea) y 11 al City. Los de Pep Guardiola siguen sin levantar cabeza en su sexta derrota casi consecutiva (quitando el empate en Champions del otro día ante el Feyenoord). Números sonrojantes para el City, que acumula siete choque sin poder festejar una victoria y está fuera de los puestos de Champions (quinto). https://www.marca.com/futbol/premier-league/cronica/2024/12/01/674c731446163f74958b45af.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35723 · 27.10.2024 г., 18:45

⚽️🏴󠁧󠁢󠁥󠁮󠁧󠁿Premier Arsenal 2-2 Liverpool#Premier#Arsenal#Liverpool Sin Calafiori ni Odegaard por lesión, además del sancionado Saliba, Salah rescató del Emirates un empate (2-2) para el Liverpool ante el Arsenal... que deja al Manchester City como nuevo líder. Los 'gunners', en el estreno goleador de Merino, se pusieron hasta en dos ocasiones por delante. Pero, a menos de 10' para el final, el egipcio igualó la contienda para colarse en el Top-10 de máximos realizadores históricos de la Premier. https://www.marca.com/futbol/premier-league/cronica/2024/10/27/671e54a646163f2eb78b4594.html 🏆@Info288_deportes

ПретходнаСтраница 1 од 3Следна