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

Резултати

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

Пребарај: #gafam

当前筛选 #gafam清除筛选
Торгпредство России в Японии

@tradereprofrussiainjapan · Post #1402 · 28.08.2024 г., 08:00

Антимонопольное регулирование информационных технологий и цифровых платформ: опыт Японии. Комиссия по справедливой торговле (JFTC) (основной антимонопольный орган Японии) - создает специализированный отдел контроля за деятельностью IT-гигантов. В первую очередь, новое подразделение будет контролировать деятельность т.н. цифровых монополий GAFAM: · Google (91% рынка поисковых запросов и крупнейшим рекламодателем в мире (27,7% мировых рекламных доходов, состоимостной оценкой в 187,6 млрд долл.). · Apple (27,7% рынка мобильных устройств с объемом рынка мобильных приложений порядка 89,3 млрд долл. в 2023 г.) · Facebook (61,9% мирового рынка социальных сетей и крупнейший рекламодатель на мобильных устройствах с долей порядка 18%. · Amazon (23% рынка e-commerce и 31% рынка облачных решений Японии · Microsoft (71,9% мирового рынка операционных систем и 49% рынка облачных решений Японии. Все указанные IT-гиганты входят в топ-7 крупнейших компаний по капитализации - совокупная рыночная капитализация оценивается в 11,5 трлн долл. Для сравнения номинальный ВВП Японии составляет порядка 4,1 трлн долл. Современные технологические решения, финансовые ресурсы и широкий охват аудитории делают их цифровыми монополистами со все более возрастающими политическим и экономическим влиянием. Как и на международном, так и на национальном уровне принимаются меры по справедливому налогообложению, ограничению доминирования крупных цифровых платформ и контролю контента. Основную роль в этом процессе играют налоговые и антимонопольные органы отдельных стран. В частности, Япония за прошедший год провела ряд антимонопольных расследований против IT-гигантов. Новый закон о поощрении конкуренции программного обеспечения для смартфонов, который вступит в силу с 2025 года, очень схож с Актом о цифровых рынках ЕС, он предоставляет Комиссии по справедливой торговле дополнительные полномочия по регулированию деятельности IT-компаний, в первую очередь Google и Apple. Предполагается, что данный закон даст возможность потребителям Японии выбирать альтернативные магазины мобильных приложений и альтернативные системы оплаты (сейчас комиссия Google составляет от 15% до 30%, а комиссия Apple – 27% от любых транзакций). Новый закон должен стать важной вехой в развитии конкурентной, равноправной и справедливой цифровой среды в Японии. #Япония#IT#ФАС#GAFAM

Libreware

@libreware · Post #898 · 14.02.2021 г., 13:01

Un projet fait par des étudiants espagnol pour récupéré vos données personnelles. . [email protected] - A great #OpenSource project by Spanish students helps you to easily check how to take back your data from #BigTech such as #Google, #Twitter, #Facebook and more. 😎💪 Check it out: https://justgetmydata.com​ #gafam#rpgd#DonnéesPersonnel #GetYourDataBack #MyData