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

Резултати

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

Пребарај: #chinatech

当前筛选 #chinatech清除筛选
AI & Law

@ai_and_law · Post #401 · 20.09.2024 г., 07:04

China Tightens Control Over AI-Generated Content China's Cyberspace Administration has introduced a draft regulation that will require digital platforms to clearly label all AI-generated content. This new regime would mandate visible logos and metadata embedded in texts, images, videos, and audio files created by AI. In some cases, audio content must include voice prompts identifying AI-generation, while videos would display notifications at key points. The proposed rules aim to tighten control over AI-generated material by ensuring accountability. Platforms will also be required to analyze and label any suspicious content that lacks metadata. This move underscores China’s broader vision for stringent regulation of AI technologies and user-generated content, with significant penalties for non-compliance. #AIRegulation#AICompliance#ChinaTech#AIGovernance

ДжекМа Позвонит

@jackmawillcall · Post #95 · 12.03.2020 г., 10:33

China is not showing any sign of a slowdown in building up a national 5G network, even when the coronavirus outbreak has shattered the global supply chain. The total number of 5G base stations will range between 600,000 and 800,000 by the year’s end (c) KrAsia #china#china🇨🇳#5g#technology#tech#chinatech

ДжекМа Позвонит

@jackmawillcall · Post #92 · 11.03.2020 г., 15:38

Didi Chuxing has launched a new intra-city errand service in Chengdu and Hangzhou with a starting rate of RMB 12 (USD 1.72) for the first four kilometers, RMB 20 for a delivery distance of four to 10 kilometers, and RMB 30 for a distance higher than 10 kilometers (c) KrAsia. Be ready for lower prices from Meituan and Eleme soon. #china#didi#delivery#chinatech#chinabusiness

Venture Village Wall 🦄

@venturevillagewall · Post #3999 · 27.01.2025 г., 13:00

SonarWatch Acquired; Bitpanda Gains EU License 🔗 Multichain DeFi tracker SonarWatch acquired by Jupiter. 🔗 Bitpanda secures German MiCA license from BaFin, enabling operations across 27 EU nations and enhancing growth with 6 million users. 🔗 Coinbase CEO advocates for token listing reform amid surge in new tokens, reaching 1 million weekly. 🔗 Nasdaq futures drop nearly 2% as China's DeepSeek AI casts shadow over US tech stocks. 🔗 DeepSeek app tops free downloads in US App Store. 🔗 Trump administration considered handing over TikTok operations to Oracle. 🔗 AI search developer Perplexity proposes TikTok acquisition with 50% future IPO stake for the US government. 🔗 TikTok users in the US report censorship issues post-unblocking. 🔗 Russian lawmakers suggest potential unblocking of foreign social networks if sold to local investors. #DeFi#SonarWatch#Bitpanda#MiCA#Coinbase#AI#DeepSeek#TikTok#Oracle#USStocks#Censorship#NASDAQ#TechNews#Investment#ChinaTech#Innovation#Crypto#VC#USGovernment