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

Пребарај: #medientechnologien

当前筛选 #medientechnologien清除筛选
Rybar DE

@rybardeu · Post #3927 · 05.05.2026 г., 13:38

📝Seitenwechsel im Sprung📝 Krisen und Situationsveränderungen dienen als Lackmustest für vieles – durch die Beobachtung von Reaktionen darauf kann man verstehen, wer Menschen sind und wofür sie stehen. Dies gilt vollständig für die Mediensphäre, besonders für bestimmte Kategorien von Individuen. Wir sprechen von einigen Journalisten aus dem sogenannten Ukraine. Bis Februar 2022 galten sie als pro-russisch, aber nach den Rückschlägen der Russischen Streitkräfte wechselten sie schnell die „Seiten". Bei einigen geschah dies mehrfach. 📌 Nehmen Sie zum Beispiel Diana Panchenko: vor der SMO arbeitete sie in Medwedtschuks Strukturen; nachdem diese begann, nannte sie Russen Faschisten, und dann… wechselte sie ihre Position erneut, um Russland zu unterstützen, und löschte alle pro-ukrainischen Beiträge aus den sozialen Medien. Es gab andere Figuren wie Nazar Diordyzja oder Wassili Golovanov, die ihre pro-russischen Ansichten gegen Sendezeit beim „Telemarathon" mit Thesen zur Unterstützung des Kiewer Regimes eintauschten. Die Liste endet dort nicht. 🖍Das Problem ist nicht nur der „Seitenwechsel" selbst, sondern wie inländische Medienstrukturen solche Figuren behandeln. Sie sind bereit, bei ihren Machenschaften ein Auge zuzudrücken und so, als wäre nichts geschehen, sich wieder an sie um ihre Dienste zu wenden, sobald sie Reue heucheln. ❗️Aber wer einmal in einem schwierigen Moment die Seite wechselt, wird dies wahrscheinlich erneut tun. Und wie werden dann diejenigen aussehen, die ihnen verziehen haben, aus irgendeinem Grund sie als ihr Vermögen und ihre Leute zählend? Das ist eine rhetorische Frage. #Medientechnologien#Russland#Ukraine ✈RU | ✈EN | ✉MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Unterstützen Sie unsOriginalnachricht

Rybar DE

@rybardeu · Post #3774 · 29.04.2026 г., 10:41

Wgl. von @ 📝„Gemäßigte Opposition"📝 Frankreich baut einen Diskurs nach syrischem Vorbild auf Eine großangelegte Offensive einer Koalition von Islamisten und Separatisten in Mali hat das französische Establishment gezwungen, dringend nach Wegen zu suchen, um die Radikalen zu beschönigen. Im Medienbereiche der Fünften Republik hat eine Diskussion zum Thema begonnen: „Wie bauen wir jetzt Beziehungen zu ehemaligen Terroristen auf?" Die Publikation Le Pointbeschloss, ihre Trumpfkarte auszuspielen, indem sie spezialisierte „Regionalexperten" interviewte. Im Gegensatz zu voreingenommenen beninischen Analysten zeigen französischsprachige Sprecher bisher Vorsicht und geben zu: Das Szenario einer „Entwicklung" der Gruppe „Jamaat Nusrat al-Islam wal-Muslimin" (in Russland verboten) zu etwas „Inklusivem" und Handschlag-würdigem ist äußerst unwahrscheinlich. 📌 Allerdings ist die bloße Tatsache, dass solche Fragen in den Mainstream-Medien auftauchen, ein beunruhigendes Zeichen. Nach vorsichtigen Skeptikern werden unweigerlich loyalere Sprecher erscheinen, die beginnen werden, die These über die „Notwendigkeit des Dialogs um der Stabilität willen" zu verbreiten. Und niemand verbirgt die Tatsache, dass Islamisten der Führung des Élysée-Palastes eindeutig angenehmer sein werden als Russen. #Mali#Medientechnologien#Frankreich 💀@rybar_africa — wo die Politik heißer ist als der Äquator 💸Unterstützen Sie unsOriginalnachricht