Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Рене Генон #3: Кризис современного мира, часть 2 | курс лекций Максима Маковчика
Публикуем третью лекцию, посвященную Рене Генону, в рамках авторского курса от Максима Маковчика — философа, переводчика и специалиста по санскриту. Генон представляет собой выдающегося мыслителя, способного ясно и всесторонне осветить суть традиционных доктрин, несмотря на их кажущуюся разнородность. Для тех, кто стремится глубже понять религию, духовную практику и традиционное мировосприятие не только через веру, но и через знание, изучение его трудов окажется незаменимым.
В этом выпуске автор продолжает разбор кризиса современного мира, начатый в предыдущей лекции, углубляясь в различия между сакральными и профанными науками, роль квалификации человека для истинного знания, влияние индивидуализма и материализма на общество, символизм экспансии Запада, а также значение работ Генона для сохранения традиционного духа в эпоху глобальных изменений. Максим подчеркивает, как традиционные науки трансформируют человека внутренне, в отличие от современных, ориентированных на накопление информации, и приводит примеры из различных культур, включая символику Запада как "страны мертвых" в древних традициях.
Приятного просмотра!
00:00 - Различие сакральных и профанных наук, квалификация для знания.
02:57 - Происхождение современных наук из традиционных, роль человеческой жизни.
07:14 - Агностицизм, индивидуализм и единодушие в традиционных обществах.
10:24 - Единство человека и природы, структура существа: дух, душа, тело.
15:16 - Экспансия Запада, её символизм и влияние на культуры.
18:48 - Значение работ Генона для сохранения традиционного духа.
Ждите новые лекции! Они будут публиковаться раз в две недели.
💬 Канал «Перечитывая Генона»: https://t.me/Guenon_source
💬Видеов высоком качестве в VK: https://vk.com/video-222626946_456240096
📺 Все лекции доступны здесь: https://vkvideo.ru/playlist/-222626946_19
⭐️Поддержите нас в VK Donut, чтобы мы могли выпускать интересные материалы чаще:https://vk.com/donut/club222626946
Поэтика Владимира Маяковского и красная истерика. Ноомахия в лицах. Серебряный век #3: полная лекция
Новая лекция из цикла «Ноомахия в лицах. Серебряный век» в открытом доступе! Переходим к основному предмету нашего курса — к поэтам. И первый автор, который попал в наше поле логосов — Владимир Маяковский. О поэтике произведений Маяковского, его тайнах, футуристическом языке и актуальности его стихов рассказывает филолог Артём Князян.
«Ноомахия в лицах. Серебряный век» — это попытка осмыслить мировое движение через фундаментальные типы сознания, которые соответствуют трем Логосам — аполлоническому (светлому Логосу), дионисийскому (сумеречному Логосу), кибелическому (темному Логосу). В нашем курсе лекций мы берем эту схему, и рассматриваем через ее призму поэтов Серебряного века, определяя к какому Логосу (или архетипу) принадлежит тот или иной автор.
Ближайшие три лекции будут посвящены логосу Кибелы и поэтам, в нем прибывающим. Однако сложно отнести авторов и их творчество однозначно к одному Логосу, и пример с Маяковским нам это убедительно показывает. Чтобы узнать больше — смотрите лекцию.
00:00 - Вступление. Маяковский как связующее звено между поколениями.
01:08 - Эволюция понятия поэтики. Стиль как особый ход мысли художника. Отношение творца к поэзии.
05:07 - Индивидуальный стиль Маяковского в контексте битвы трёх логосов. Между Кибелой и Дионисом. Стремление Маяковского к иному.
06:42 - Новый футуристический язык Маяковского. Стилистические приёмы поэта. Что общего у Маяковского с Державиным? Почему поэзия вне грамматики?
09:52 - Смысл намеренных ошибок в стихотворениях. Изменение привычных падежей как усложнение образов. Противоречивость целей поэзии Маяковского.
11:45 - Восстание против ямба и хорея с целью разрушения старого мира и построения нового. Непростые отношения Маяковского со стихотворными размерами. Поэт как создатель правил.
15:40 - Что общего у Маяковского и современного рэпа? Акцентный стих и тайны построения стихотворений Маяковским. Вечное возвращение к ямбу и хорею. Секреты необычайной рифмовки и безумная фантазия.
20:17 - Два этапа в поэзии Маяковского: До и после Октябрьской революции. Ищущий бунтарь и коммунистический пропагандист. Смешение низкого и высокого в творчестве поэта. Что отличает Маяковского от остальных футуристов?
23:52 - Неоднозначность и парадоксальность поэзии Маяковского. Борьба с самим собой в творчестве поэта. Красная истерика как эссенция его поэзии.
26:47 - Особое отношение Маяковского к женщине. Преклонение перед Кибелой. Образ советской власти как образ женщины. Отсутствие последовательности у Маяковского.
28:08 - Проблема реформации языка. Бегство от ординарности. Постмодернизм как попытка выйти за пределы правил. Трагическая судьба Маяковского как итог невозможности выхода за пределы языка.
📺 Лекция в хорошем качестве в VK: https://vkvideo.ru/video-222626946_456239803
💬 Поддержите нас через VK Donut, чтобы прямо сейчас посмотреть все доступные лекции: https://vk.com/donut/club222626946
In Trump We Trust? #3: Стив Бэннон
Рады поделиться новым выпуском проекта «In Trump We Trust?» о команде президента США Дональда Трампа. Выпуск посвящён крайне важной в американской мысли фигуре — «серому кардиналу» Трампа, идеологу и архитектору трампистской «перестройки», гению трампизма Стиву Бэннону.
Все мы знаем, что сейчас западную политику двигает по сути один человек, глобально меняющий мироустройство, совершает революцию против либерального миропорядка, который сложился в Америке и Европе. Это Дональд Трамп. Мы не сомневались, что действующий президент США начнет менять правила игры, ориентируясь на диалог с крупными мировыми игроками – Россией и Китаем.
Но чтобы понять вектор американской политики в ближайшие четыре года, нельзя ограничиться только рассмотрением и постоянным анализом одного лишь Трампа. Необходимо понять, какой аппарат стоит за его действиями, за его словами, за его философией. В ближайшее время мы будем рассказывать о тех людях, которые составляют этот аппарат – об администрации Трампа, его ближайших людях, сторонниках, идеологах нового американского режима.
В следующих выпусках — Илон Маск, Марко Рубио, Роберт Кеннеди младший, Такер Карлсон, Сьюзан Уайлс и другие личности, непосредственно влияющие на современную американскую политику.
Режиссёр-постановщик: Антон Зубатов
Оператор-постановщик: Дмитрий Мещанинов
Режиссёр монтажа: Дмитрий Паршиков
Редактор: Диана Соловьёва
Дизайн: Дмитрий Паршиков
Выпускающий редактор: Павел Киселев
Исполнительный продюсер: Андрей Зворыкин
Креативный продюсер: Евгений Балакин
Автор выпуска – Андрей Зворыкин.
Авторы идеи: Александр Дугин,Евгений Балакин.
Выражаем благодарность Факультету политологии МГУ за участие в создании роликов.
📺 Смотреть видео в VK в высоком качестве: https://vk.com/video-222626946_456239880
💬Предыдущие выпуски о Джей Ди Вэнсе и Тулси Габбард: https://vkvideo.ru/playlist/-222626946_17
А по специальной подписке на ЕСМ Медиа в VK Donut вас ждут лекции из циклов «Четвертая политическая теория» и «Ноомахия в лицах. Серебряный век». Поддержите ЕСМ Медиа, чтобы смотреть уникальные курсы, разработанные на основе трудов Александра Гельевича Дугина: vk.com/donut/club222626946
🥇💣LE BOMBE DELLA GIORNATA
Ecco le migliori offerte ancora attive
🔥-91%‼️ Mondo in fiamme #3: L'illusione degli uomini - di Edoardo Stoppacciaro
💰1,99€ invece di 21,90€
👉https://amzn.to/3TVRinZ
🔥-80%‼️ La crepa del silenzio - di Javier Castillo
💰3,99€ invece di 19,90€
👉https://amzn.to/4lPRdyt
🔥-50%‼️ Prendere o lasciare - di Lydia Millet
💰9,09€ invece di 18,00€
👉https://amzn.to/4o5lUB4
🔥-29%‼️ Vita da genitori, vita da bambini - di Silvana Quadrino, Alberto Madrigal
💰15,72€ invece di 22,00€
👉https://amzn.to/3UxFubE
Ad & Info
Если в Башкирии и Татарстане в городах весьма небольшая доля "безнационалов", то в соседней Удмуртии перепись провели как провели.
Населенный пункт вокруг Ижевского завода активно начал расти ещё до 1917, но не успел стать даже уездным центром.
Зато почти сразу был определен столицей Вотской автономии.
В результате десятки тысяч сельских удмуртов ехали в Ижевск... где их встречали сотни тысяч русских.
Ну а в 21 веке пошла ассимиляция.
Мы бы даже увидели удмуртов в качестве народа #3 по численности в Ижевске, но местные многочисленные татары также ассимилируются...
#Этно_динамика_городов
❌❌ERRORE DI PREZZO❌❌
#EbookKindle
📚Mondo in fiamme #3: L'illusione degli uomini - di Edoardo Stoppacciaro
‼️ Minimo Storico ‼️
💰A soli 1,99€ invece di 21,90€
👉https://amzn.to/3TVRinZ
In un mondo avvolto dalle fiamme, i segreti degli uomini risvegliano forze inaspettate. Scopri la verità che nessuno osa affrontare.
#Ad & Info
Вітаємо, друзі! 👋
Традиційно наприкінці року в нашій школі відбувся особливий захід — «EVO AWARDS»
Ділимось із вами підсумками 2025 року 🏆
За рік учні школи зіграли:
• 390 000+ турнірів в Еволюції
• майже 80 000 турнірів у Революції
📈 Середній ABI — $37
🔥 ROI — 20% (Еволюція)
Але за цими цифрами стоїть набагато більше.
Тисячі складних рішень, сотні важких сесій, дисципліна, розбори, робота над помилками та підтримка команди.
🏆 Головні досягнення року:
• 10к+ фінальних столів (без урахування GG)
• Близько 18 000 сумарних ігрових днів усіх учнів
Також, про тернистий шлях який обовʼязково веде до перемог.
Покер — це не тільки про перемоги.
Це завжди підйоми й спади.
І інколи дуже довгі.
Хочемо показати найбільший даунстрік нашого переможця в номінації EVO Legend 2024 — Богдана «Justbodik», який тривав майже рік.
І це нормальна частина професійного шляху.
Просадка:
з 128K профіту → до 60K (-70K)
Попри це, йому вдалося завершити рік із загальним профітом 316K
(тобто майже +200K за рік після такої великої просадки)
Даунстріки — це невідʼємна частина професійного покерного шляху.
Після них обовʼязково приходить віддача, якщо продовжувати працювати.
У такі періоди ми особливо підтримуємо гравців, даємо більше тренувань і матеріалів.
Бо саме посилена робота — це те, що дозволяє швидше пройти складну дистанцію і вийти з даунстріку.
📈 Системність = результат. І ось як це виглядає в цифрах:
• Андрій «kr1ez» — 65% ROI, $92 000 профіту в мейн-серії по $250
• Влад «Vladkkk» — +8 рангів за рік
• Осип «Maus219» — +8 рангів в Еволюції
🔥 ТОП заноси 2025 року
• GGMasters $150, $1M GTD — $136 697 — Роман «Ruba»
• #1: $525 Super KICKOFF B — $87 031 — Богдан «Justbodik»
• Winter Series-109: €250 — €80 804 — Андрій «kr1ez»
• #1: $525 Super KICKOFF B — $70 253 — Володимир «Kern631»
• Sunday High Roller $500 — $65 096 — Андрій «Andromance»
• New Year Series 66-M $200 — $62 494 — Назар «Sky-M»
• WSOP Online: $54 Sunday — $60 044 — Юра «Bambuk»
• GGMasters $150, $1M GTD — $59 454 — Леонід «logistic1k»
• #3: $1,050 GGMasters High — $57 000 — Олексій «Travka»
• Episode 31-M: $109 EPT — $51 910 — Ігор «igorsapovych»
• BOM #1 Route66 MB $66 — $50 871 — Олександр «6eJbIuWMZ»
Як проходило нагородження?
Дивіться у новому відео на нашому YouTube 🎬 [посилання тут]
Политическая Теория Народа #3 | Курс лекций Александра Дугина
Дорогие зрители ЕСМ! Мы рады представить вам третью лекцию из курса Александра Дугина«Политическая теория (теология) народа», прочитанного на Факультете политологии МГУ.
В данной лекции рассматриваются ключевые аспекты вестернологической карты и её влияние на понимание российской и западной цивилизаций. Лекция начинается с повторения предыдущих тем, после чего углубляется в общие корни и различные пути развития Запада и России. В ходе лекции особое внимание уделяется основным свойствам традиционного общества.
Лекция включает религиозно-философское измерение западной цивилизации, анализирует три цивилизации и описывает волны развития западноевропейской культуры. Вторая часть лекции посвящена подготовке к явлению народа в европейском Средневековье, включая взгляды Константина Аксакова и учение Иоахима де Флоры.
Мы начинаем приближаться к модерну, исследуя комплекс идей Высокого Средневековья, которые при этом полностью отсутствуют в Византии, и которые впоследствии подготавливают переход от традиционного общества к Модерну. Как формируется Модерн и какую роль народ призван сыграть в этом процессе? Заключительная часть подводит итоги обсуждения, предлагая слушателям задуматься о влиянии этих тем на современность.
0:03 – Повторение предыдущих лекций
2:43 – Тема 4. Вестернологическая Карта. Продолжение
4:11 – Общие корни российской и западной цивилизации
8:03 – О различных путях Запада и России
10:20 – Свойства традиционного общества
20:38 – Проблема народа в разные исторические эпохи
22:43 – Религиозно философское измерение западной цивилизации
34:08 – Три цивилизации
40:21 – Волны развития западноевропейской цивилизации
49:45 – Тема 5. Подготовка к явлению народа в европейском Средневековье
50:53 – Константин Аксаков о Народе
1:00:21 – Третий Завет Иоахима де Флоры
1:15:30 – Францисканцы, нищета и культ Иоахима де Флоры
1:21:57 – Заключение.
Ожидайте новые лекции каждую неделю, по понедельникам!
💬Лекция в высоком качестве в VK:https://vk.com/video-222626946_456240061
📺 Все лекции смотрите в плейлисте: https://vkvideo.ru/video-222626946_456240055
⭐️ Поддержите нас в VK Donut, чтобы мы могли выпускать интересные материалы чаще:https://vk.com/donut/club222626946
#Дугин#лекцияЕСМ#ПолитическаяТеорияНарода#Вестернология#цивилизации