@Ultimorapolitics24 · Post #52101 · 05.03.2026 г., 10:35
🇫🇷#Francia – Lo stato maggiore francese riferisce che aerei americani sono stati autorizzati a utilizzare basi francesi in Medio Oriente. @UltimoraPolitics24
Hashtags
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
Пребарај: #francia
@Ultimorapolitics24 · Post #52101 · 05.03.2026 г., 10:35
🇫🇷#Francia – Lo stato maggiore francese riferisce che aerei americani sono stati autorizzati a utilizzare basi francesi in Medio Oriente. @UltimoraPolitics24
Hashtags
@Ultimorapolitics24 · Post #51500 · 20.12.2025 г., 13:35
#Francia - Non riuscirà ad approvare la legge di bilancio entro la fine dell’anno, e si dovrà ricorrere a un provvedimento d’emergenza per estendere il bilancio del 2025 al prossimo anno. (ilPost) @UltimoraPolitics24
Hashtags
@ULTIMORAPOLITICS · Post #43313 · 14.04.2023 г., 16:00
❗🇫🇷#Francia - La Riforma delle Pensioni resta valida: la Corte costituzionale boccia la richiesta di referendum @UltimoraPolitics
Hashtags
@ULTIMORAPOLITICS · Post #43167 · 20.03.2023 г., 17:56
🇫🇷 #Francia - Il giorno decisivo per il governo: segui la mozione di sfiducia su @UltimoraPolitics24 @UltimoraPolitics
Hashtags
@ULTIMORAPOLITICS · Post #43165 · 20.03.2023 г., 15:48
🇫🇷#Francia - Il giorno decisivo per il governo: segui la mozione di sfiducia su @UltimoraPolitics24 @UltimoraPolitics
Hashtags
@ultimoraPOLITICS · Post #40044 · 21.06.2022 г., 06:58
#Francia Secondo giorno di crisi politica in Francia, nessuna maggioranza possibile per il presidente dopo le elezioni. Oggi le consultazioni tra Macron e i partiti Aggiornamenti minuto per minuto su ▶️@UltimoraPolitics24
Hashtags
@ultimoraPOLITICS · Post #40031 · 19.06.2022 г., 18:09
#Francia Exit Poll: Macron perde la maggioranza assoluta @UltimoraPolitics
Hashtags
@ultimoraPOLITICS · Post #39858 · 04.06.2022 г., 19:41
#Francia 🗳 Votazioni in corso nella Polinesia Francese per i 3 seggi della assemblea nazionale. Segui le elezioni francesi su @UltimoraPolitics24
Hashtags
@Ultimorapolitics · Post #37512 · 24.04.2022 г., 20:03
#Francia Proteste della sinistra francese contro Macron e Le Pen sono in corso a Parigi, Lille, Lione, Marsiglia e Nizza. @UltimoraPolitics
Hashtags
@Whitehousewatch · Post #17110 · 20.01.2026 г., 14:09
#Francia, Macron: Non intendo parlare con Trump a Davos.
Hashtags
@lineasrojas · Post #12441 · 23.02.2026 г., 20:34
🇫🇷🇮🇱El sionismo se hace cada vez más fuerte en Francia Durante la 40.ª cena del Consejo Representativo de las Instituciones Judías de Francia (CRIF), el primer ministro, Sebastien Lecornu, anunció su intención de incluir en el orden del día de la Asamblea Nacional, a partir del mes de abril, la propuesta de ley impulsada por la diputada Caroline Yadan, que busca asimilar el antisionismo a una forma de antisemitismo. ▪️ En particular, declaró: "Exclamar 'desde el río hasta el mar’ es llamar a la desaparición de Israel (…) Y la incitación al asesinato está prohibida". De esta manera, el antisionismo, la crítica a Israel, así como el uso del eslogan "Desde el río hasta el mar, Palestina será libre" podrían pronto ser objeto de una prohibición en el marco de este texto, y ser castigados con multas y prisión. Y de esta forma, poco a poco, arrecia el control de Israel y la censura de todo lo que vaya en contra con el sionismo en el mundo. #francia ——— Únete a la lucha por la verdad en 📱Telegram 🫥Odysee 📱X (Twitter)
Hashtags
@lineasrojas · Post #12404 · 21.02.2026 г., 20:41
🇫🇷 Cómo la Legión Extranjera Francesa se convirtió en refugio para criminales de guerra nazis Tras la Segunda Guerra Mundial, mientras Francia luchaba por retener su colonia de Indochina, recurrió a una fuente improbable de mano de obra: prisioneros de guerra alemanes, incluidos exmiembros de las Waffen-SS. Los alemanes han sido la principal parte de la Legión Extranjera Francesa desde su fundación en 1831. Un viejo dicho de la Legión lo aclara sin rodeos: "La Legión es tan buena como su peor alemán". Tras la Segunda Guerra Mundial, esa presencia alemana se disparó. En 1945, Francia tenía más de 500.000 prisioneros de guerra alemanes en condiciones miserables. Casi 25.000 murieron en los campos franceses entre 1944 y 1948 por hambre y enfermedades. Pero, a medio mundo de distancia, el Viet Minh de Ho Chi Minh amenazaba la Indochina francesa. París necesitaba combatientes, rápido. El 22 de marzo de 1947, Francia financió un cuerpo expedicionario. La solución más rápida: abrir el reclutamiento en la Legión Extranjera, especialmente en la Alemania ocupada. Entre 20.000 y 30.000 prisioneros alemanes pasaron directamente de la internación al alistamiento. Entre 1945 y 1954, unos 150.000 legionarios sirvieron en Indochina. Historiadores estiman que del 40% al 60% eran de origen germánico. Eso significa que unos 50.000 alemanes lucharon por Francia en las junglas de Vietnam. Oficialmente, la Legión le prohibía participar a los miembros de las Waffen-SS. Los reclutadores comprobaban el tatuaje de grupo sanguíneo bajo la axila izquierda. Buscaban cicatrices sospechosas. Pero el sistema era poroso. En el caos de la posguerra europea, muchos se colaron. La información de que la Legión servía como un refugio nazi no surgió de fuentes occidentales: vino del Viet Minh. Tras su victoria en Dien Bien Phu en 1954, funcionarios vietnamitas afirmaron que los alemanes capturados eran ex Waffen-SS. #francia ——— Únete a la lucha por la verdad en 📱Telegram 🫥Odysee 📱X (Twitter)
Hashtags