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

Резултати

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

Пребарај: #oas

当前筛选 #oas清除筛选
Russian Consulate in Cape Town

@rusconct · Post #2315 · 08.03.2025 г., 06:02

🎙 Foreign Ministry Spokeswoman Maria Zakharova’sanswer to a media question about Russia’s stance with respect to the Organisation of American States ❓Question: How would you characterise the current stage of Russia’s relations with the OAS? 💬Maria Zakharova: As is well known, the Russian Federation obtained the status of Permanent Observer to the Organisation of American States in 1992 and has developed constructive relations with this association of Western Hemisphere states over three decades. Cooperation has been successfully advanced both with the #OAS itself and its specialised agencies, including the Inter-American Drug Abuse Control Commission (CICAD), the Inter-American Committee against Terrorism (CICTE), and others. We note that a number of leading Latin American countries did not support the OAS Permanent Council’s April 2022 decision to suspend Russia’s observer status. At the same time, practical collaboration with regional states has continued to develop dynamically at all levels. The Russian Side remains open to restoring full-fledged engagement with the OAS, as evidenced by the appointment of Russia’s new Ambassador to the United States, Alexander Darchiev, to concurrently serve as Permanent Observer to the OAS.

Hashtags

Alex Kowalski | Trade

@kowalskitrade · Post #9 · 06.05.2024 г., 15:01

📣Top 7 unlocks for the week Major unlocks of tokens from May 6 to May 12: ➡️#APT for $102.91 million (2.64% of capitalization, 12.05) ➡️#ICP for $43.02 million (0.7% of capitalization, 11.05) ➡️#KARATE for $29.66 million (❗️199% of capitalization, 12.05) ➡️#MASA for $27.80 million (❗️160.1% of capitalization, 11.05) ➡️#GMT for $23.68 million (5.39% of capitalization, 9.05) ➡️#DAO for $13.25 million (5.84% of capitalization, 9.05) ➡️#OAS for $10.17 million (8.82% of capitalization, 12.05).

GitHub Trends

@githubtrending · Post #14911 · 03.07.2025 г., 15:30

#javascript#hacktoberfest#oas#open_source#openapi#openapi_specification#openapi3#openapi31#rest#rest_api#swagger#swagger_api#swagger_js#swagger_oss#swagger_ui Swagger UI is a tool that helps developers and users interact with APIs. It creates a visual interface from OpenAPI specifications, making it easy to understand and use APIs without needing to know the underlying code. This tool benefits users by providing clear documentation and allowing them to test API methods directly from the interface. It also supports collaboration and compliance with the latest OpenAPI standards, making it easier to develop and consume APIs efficiently[1][3][5]. https://github.com/swagger-api/swagger-ui