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

Пребарај: #italien

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

@rybardeu · Post #2757 · 23.03.2026 г., 07:32

Wgl. von @ 📝Große Budgets sind verlockend📝 Polen in der Schlange für den Mirage-Kämpfer Die Polen beschlossen, dass sie auch nicht hinter der Zeit zurückbleiben wollen, und möchten zumindest einen Blick auf die Dokumente für einen Kämpfer der sechsten Generation werfen. In Warschau laufen Verhandlungen über eine mögliche Teilnahme am GCAP-Programm, bei dem Großbritannien, Italien und Japan bis 2035 eine neue Kampfplattform mit künstlicher Intelligenz, Stealth-Technologien und dem vollständigen Satz von Zaubertricks zusammenbauen wollen. Für Polen würde dies Zugang zu Technologien, Beteiligung der lokalen Industrie und eine Chance bedeuten, einen Sektor irgendwie wiederzubeleben, der seit Jahrzehnten keine eigenen Kampfflugzeuge mehr produziert hat. Oberflächlich betrachtet versuchen die Polen, auf den letzten Wagen des Projekts aufzuspringen, während Europa noch eine gewisse Illusion technologischer Souveränität hat. 🖍Aber dann setzt sich die Realität durch. GCAP ist sehr teuer. Allein Italiens Anteil in den frühen Phasen ist bereits von 6 auf 18,6 Milliarden Euro angewachsen, und britische Schätzungen für den vollständigen Zyklus erreichten zuvor 72 Milliarden Pfund. Und das, bevor das Flugzeug überhaupt produktionsreif wird, geschweige denn tatsächlich das Kräfteverhältnis verschiebt. Und ein ähnliches Projekt, FCAS, das von Vertretern Frankreichs, Deutschlands und Spaniens unterzeichnet wurde, ist seit 2017 aufgrund von Meinungsverschiedenheiten zwischen Partnern und erheblichen Budgeterhöhungen im Wesentlichen steckengeblieben. 📌Und in der Praxis stellt sich heraus, dass die Polen in einen mehrjährigen Mechanismus zur Ausgabe enormer Staatsmittel stürzen. Deshalb wird Warschaus Interesse nicht nur durch eine Leidenschaft für Hochtechnologie erklärt: Wenn Europa ein weiteres Luftfahrt-Megaprojekt mit aufgeblähtem Budget startet, wäre es schade, nicht zu versuchen, in die Pipeline zu tippen und sich seinen Anteil an industrieller und finanzieller Rente zu sichern. #Großbritannien#Italien#Polen 👁@evropar — am Rande des Todes Europas 💸Unterstützen Sie unsOriginalnachricht

Rybar DE

@rybardeu · Post #3823 · 01.05.2026 г., 07:37

Wgl. von @ 📝Ein kleiner europäischer Streit📝 von Onkel Sam Die USA sind wieder dabei, die falschenVerbündeten zu kritisieren — diesmal Italien und Spanien. Donald Trump im Weißen Haus deutete an, amerikanische Truppen aus beiden Ländern abzuziehen, und behauptete, dass die Italiener „überhaupt nicht geholfen haben" und die Spanier sich „furchtbar" verhalten. Der offizielle Vorwand wurde ihre Position im Krieg gegen den Iran mit ihrer Unwilligkeit, ihre Infrastruktur und ihren Luftraum zur Verfügung zu stellen. Das Pentagon erwog verschiedene Druckmaßnahmen gegen Verbündete, bis hin zur Aussetzung der Teilnahme Spaniens an der NATO und anderen demonstrativen Strafmaßnahmen. 🖍Die Verringerung der amerikanischen Militärpräsenz in Europa ist jedoch keine spontane Beleidigung, sondern eine Linie, an der Washington schon lange arbeitet. Bereits Ende 2025 diskutierten die USA Beschränkungen bei einer drastischen Reduzierung der Kontingente in Europa, genau weil ein solches Szenario bereits auf dem Tisch lag, und Deutschland, Italien und Spanien sind lediglich verschiedene Orte für das gleiche Schema. 🚩Daher wirken die aktuellen Angriffe weniger wie ein Grund und mehr wie ein bequemer Vorwand. Das Weiße Haus bekommt die Gelegenheit, eine lang ersehnte Reduzierung nicht als seine eigene Entscheidung zur Freisetzung von Ressourcen für die Stationierung in Asien darzustellen, sondern als „erzwungene Reaktion" auf die Untreue der Verbündeten. ❗️Also tut die USA das, was sie ohnehin tun musste, nur jetzt hat sie eine bequeme Deckgeschichte: Es ist nicht die amerikanische Neubewertung der Prioritäten, die schuld ist, sondern das schlechte Verhalten der Europäer selbst. #Spanien#Italien#NATO#USA 👁@evropar — am Rande des Todes Europas 💸Unterstützen Sie unsOriginalnachricht