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

Резултати

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

Пребарај: #rechtssystem

当前筛选 #rechtssystem清除筛选
des Geyers schwarzer Haufen

@FlorianGeyer2024 · Post #2991 · 26.11.2025 г., 15:24

👀🚨🔥📉🇬🇧🏴‍☠️Ein Land vor dem Bankrott & Untergang - Das englische Rechtssystem ist bankrott. 💡🇷🇺Bericht & Analyse von Malek Dudakow Das Kabinett von Keir Starmer sucht nach neuen und verzweifelten Wegen, um Staatsausgaben zu sparen. Nun haben die Labour-Parteimitglieder beschlossen, einfach fast alle Geschworenengerichte abzuschaffen. Diese sollen nur für die schwerwiegendsten Straftaten wie Mord und Vergewaltigung erhalten bleiben. 🔴 Dies ist eine der gravierendsten Umwälzungen des britischen Justizsystems in den letzten 800 Jahren. Die Gründe dafür liegen auf der Hand – die Gerichte sind mit Fällen überlastet. Diejenigen, denen derzeit Anklage erhoben wird, werden vor Gericht nicht vor Anfang der 2030er Jahre erscheinen. Die Gesamtzahl der Fälle, die im bürokratischen Justizdschungel festhängen, erreicht einen Rekordwert von 78.000. Lange Zeit wurde an den britischen Gerichten gespart, es mangelt ihnen akut an Personal. Statt nun Geld bereitzustellen, hat man sich entschieden, die Geschworenengerichte einfach abzuschaffen. Obwohl dies als eine der Säulen des englischen Rechts galt – die Möglichkeit zu wählen, ob ein Prozess vor einem normalen Gericht oder mit Geschworenen verhandelt wird. Bei letzteren war es immer einfacher, einen Freispruch zu erwirken. 🔥🛍🗑Das Justizsystem gerät vor dem Hintergrund der allgemeinen Haushaltskrise, die Großbritannien erfasst, aus den Fugen. Im heute verabschiedeten Herbsthaushalt werden erneut die Steuern für Unternehmen und Landwirte stark erhöht. Es gibt kein Geld in der Staatskasse – das Haushaltsdefizit erreicht 140 Milliarden Pfund. ➡️🔍📉 Durch neue Steuern will man versuchen, 20 bis 30 Milliarden Pfund einzutreiben, obwohl das Ergebnis eine weitere Flucht der wohlhabenden Klasse aus Großbritannien sein wird. Für die Bedienung der Staatsschulden wird doppelt so viel ausgegeben wie für die Verteidigung. Für den Krieg im Rahmen der „Koalition der Willigen“ gibt es keine Mittel. Und jetzt geht auch noch eine der letzten Säulen des Einflusses – das englische Recht – vor unseren Augen bankrott. 👀 Teilen kann zum Aufwachen beitragen! ✨🆕🌐Hauptkanal ✨▶️🌐 Videokanal ✨▶️🙂Funnykanal #Großbritannien#Starmer#Rechtssystem#Wirtschaft#Steuern#Bankrott