@voir_yeux · Post #11725 · 14.02.2026 г., 11:52
🇮🇱Une puissante tempête de poussière s’est abattue sur Israël, réduisant considérablement la visibilité à Tel-Aviv. #israël#tempête
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
Пребарај: #tempête
@voir_yeux · Post #11725 · 14.02.2026 г., 11:52
🇮🇱Une puissante tempête de poussière s’est abattue sur Israël, réduisant considérablement la visibilité à Tel-Aviv. #israël#tempête
@voir_yeux · Post #11633 · 05.02.2026 г., 23:09
🇪🇸 1.500 personnes ont été évacuées dans le sud de l'Espagne en raison d'une tempête, rapporte le service d'urgence de la région sur X. #espagne#tempête
@voir_yeux · Post #11539 · 29.01.2026 г., 17:35
🇵🇹Cinq personnes ont trouvé la mort à la suite de la tempête au Portugal, rapporte l’agence EFE. Selon le quotidien Diário de Notícias, près de 450.000 personnes restent privées d’électricité dans la partie continentale du pays. #portugal#tempête
@voir_yeux · Post #11888 · 24.02.2026 г., 11:16
🇺🇸❄️ Aux États-Unis, plus de 500.000 foyers ont été privés d'électricité à la suite d'une tempête de neige, a rapporté la chaîne de télévision NBC News. Selon le Service météorologique national (NWS), dans certaines zones, plus de 90 centimètres de neige sont déjà tombés. Les autorités de sept États ont déclaré l'état d'urgence. #étatsunis#tempête#neige
Hashtags
@voir_yeux · Post #11623 · 05.02.2026 г., 11:11
🇺🇸❄️ Des montagnes de neige et de débris se sont accumulées à New York après une tempête. Les habitants se plaignent de l'inefficacité des services publics, selon la presse locale. La ville est recouverte d'entre 30 et 38 cm de neige, indique CBS News. #étatsunis#neige#tempête
Hashtags
@voir_yeux · Post #11638 · 06.02.2026 г., 16:44
🇵🇭 Aux Philippines, quatre personnes sont mortes à la suite de la tempête tropicale Basyang, a rapporté la chaîne ABS-CBN News. Une maison, où se trouvaient deux adultes et deux enfants, a été détruite par un glissement de terrain. #philippines#tempête#victimes
Hashtags
@voir_yeux · Post #11847 · 21.02.2026 г., 07:59
🇷🇺 Tempête à Sotchi #russie#sotchi#tempête
@voir_yeux · Post #11715 · 13.02.2026 г., 11:04
🇫🇷🌪️ Deux personnes sont décédées dans le sud de la France à la suite de la tempête Nils, a signalé la porte-parole du gouvernement français, Maud Bregeon. #france#tempête#morts
@voir_yeux · Post #11616 · 04.02.2026 г., 15:44
🇪🇸 Plus de 3.000 personnes ont été évacuées dans le sud de l'Espagne en raison d'une tempête, ont indiqué les secoursistes de la région. #espagne#évacuation#tempête
Hashtags
@voir_yeux · Post #11543 · 30.01.2026 г., 09:21
🇺🇸Au moins 85 personnes ont trouvé la mort à la suite des conséquences de la tempête de neige qui s'était abattue ces derniers jours sur les États-Unis. C'est ce qu'a rapporté l'agence Associated Press. Selon ses informations, environ la moitié des décès ont été enregistrés dans les États du Tennessee, du Mississippi et de la Louisiane, dans le sud-est du pays. Parmi les causes de décès, on cite notamment l'hypothermie, l'intoxication au monoxyde de carbone lors de tentatives de se réchauffer en allumant un feu, les accidents de la route causés par les conditions météorologiques, ainsi que les crises cardiaques survenues lors du déneigement manuel. #étatsunis#tempête#neige#bilan
Hashtags
@voir_yeux · Post #11891 · 24.02.2026 г., 17:26
🇨🇦 Les écoles sont fermées et le fonctionnement des transports est perturbé à la suite d'une tempête de neige dans l’est du Canada, a fait savoir la chaîne de télévision CTV. D’après le Service météorologique du Canada (SMC), les intempéries s'accompagnent de vents violents atteignant 33 m/s par endroits. #canada#tempête#intempéries
Hashtags
@voir_yeux · Post #11548 · 30.01.2026 г., 17:31
🇵🇹Au Portugal, plus de 290.000 personnes sont toujours privées d’électricité, rapporte Diario de Noticias. Selon le journal, cela résulte des dommages causés au réseau électrique à la suite de la tempête qui a frappé le Portugal dans la nuit du mardi 27 au mercredi 28 janvier. #potugal#électricité#tempête
Hashtags