Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
«Когда время против вас: стратегии работы со сроками исковой давности по английскому праву»
Вчера представитель English Law Report - Дробченко Егор - принял участие в сателлитном мероприятии форума Dispute Resolution Club, организованном юридической фирмой Asari Legal. Дискуссия, проходившая на английском языке, завершилась вчера — делимся впечатлениями по горячим следам.
Центральной темой обсуждения стали вопросы управления сроками исковой давности, доктрины форс-мажора и фрустрации, а также практические подходы к снижению связанных рисков. Были рассмотрены особенности исчисления и регулирования сроков давности в странах civil law и common law на примерах права России, ОАЭ, Англии и Уэльса.
Отдельное внимание было уделено анализу ключевых для английского права институтов: оговорок time bar clause и extinction clause. Была приведена практика английских судов по применению доктрин форс-мажора и фрустрации.
Модератором дискуссии выступил :
— Станислав Карандасов, партнёр практики разрешения споров, Asari Legal.
В качестве спикеров выступили:
— Хавар Куреши, KC (руководитель McNair International);
— Максим Астафьев, заместитель генерального директора по правовому обеспечению ЗАО «Группа компаний С7»;
— Иван Ласков, партнёр Asari Legal;
— Пол-Рафаэль Шехади, советник Asari Legal, солиситор Англии и Уэльса.
Проект English Law Report продолжает своё развитие и выражает искреннюю признательность юридической фирме Asari Legal и Dispute Resolution Club за предоставленную возможность участия в профессиональном обсуждении и высокий уровень организации мероприятия.
Stay tuned 📖🇬🇧
#EnglishLawReport#DisputeResolutionClub#LimitationPeriods#ComparativeLaw#CommonLaw#CivilLaw
📚English Law Online Academy — Перезапуск и итоги недели
English Law Online Academy (проект созданный в рамках English Law Report) вышел на новый уровень: теперь кейсы публикуются в формате «Записок солиситора». Это не просто пересказ решений, а компактные и практичные конспекты с акцентом на то, как мыслит английский юрист. Такой формат помогает юристам применять английское право в реальных делах.
На прошлой неделе мы разобрали ключевые прецеденты по всем 7 дисциплинам английского права:
🔹Понедельник (Contract Law)
Scotson v. Pegg (1861) — обещание выполнить существующее обязательство может быть хорошим возмещением (consideration).
🔹Вторник (Equity & Trusts)
Re Astor's Settlement Trusts (1952) — траст без чётких целей не имеет силы.
🔹Среда (Land Law)
Re Inns (1947) — распределение интересов в земельном праве.
🔹Четверг (Criminal Law)
R v. G & R (2003) — определение recklessness (неосторожности) в уголовном праве.
🔹Пятница (Company Law)
Jones v. Lipman (1962) — классика о «sham company» и снятии корпоративной вуали.
🔹Суббота (Tort Law)
Dunnage v. Randall (2015) — ответственность за вред при психических расстройствах.
🔹Воскресенье (Public Law)
Prohibitions Del Roy (1607) — верховенство common law над королевской властью.
🎯Зачем это вам?
Каждый разбор знакомит вас с фундаментальными принципами английского права — системы, на которой строятся международные сделки, арбитражи и корпоративное управление по всему миру. Эти кейсы входят в программу BPP Law Schoolи University of Law, а значит, это именно тот материал, который изучают будущие солиситоры и барристеры. Для студентов это подготовка к экзаменам и SQE, для практикующих юристов — возможность мыслить как английский юрист и применять common law в работе с иностранными клиентами, а для бизнесменов — понимание юридических основ, лежащих в договорах и инвестициях.
✅ Подписка на каналы ELOA = каждую неделю вы проходите мини-курс английского права через реальные кейсы.
📲 Telegram превращается в ваш онлайн-университет по common law.
#EnglishLawOnlineAcademy#EnglishLaw#CommonLaw#ELOA#ЗапискиСолиситора#ContractLaw#CompanyLaw#CriminalLaw#EquityAndTrusts#LandLaw#PublicLaw#TortLaw
👨🎓Друзья, небольшой апдейт по внутренней кухне English Law Report.
Иногда ассистента выбираешь не по формальному CV, а по редкому сочетанию энтузиазма, трудолюбия и реального интереса к праву. В этот раз получилось именно так.
Я решил взять себе в качестве ассистента Егора Дробченко.
Егор учится на юриста, специализируется на международных и трансграничных спорах, уже проходил стажировку в практике разрешения споров АБ Инфралекс в Москве, работал с судебной практикой, готовил юридические справки, взаимодействовал с госорганами. У него сильный интерес к цивилистике, арбитражу, экономическим спорам и процессу.
Но решающим стало не это. А его необычное рвение к знаниям и готовность делать ту самую кропотливую, незаметную, но фундаментальную работу, без которой качественный правовой анализ просто невозможен.
В рамках English Law Report в его задачи входит:
— системный сбор решений английских судов
— первичный отбор релевантных кейсов по английскому частному и коммерческому праву
— категоризация дел (contract, tort, arbitration, insurance, maritime, procedure и др.)
— подготовка factual summary без интерпретаций
— фиксация ключевых правовых вопросов и применённых доктрин
— ведение базы кейсов
— сбор сопутствующих материалов и case notes
Сразу подчеркну: анализ, интерпретация, стратегия и практические выводы остаются полностью на мне. Ассистент закрывает исследовательскую и техническую часть, чтобы я мог глубже копать в смыслы, логику суда и реальные последствия для практики.
Это важный шаг для канала. English Law Report становится более системным, более глубоким и менее зависимым от случайных находок.
Дальше будет больше сильных кейсов, меньше шума и больше настоящего английского права.
Связаться с Егором можно через почту: [email protected]
#EnglishLawReport#TeamUpdate#ResearchAssistant#LegalResearch#YoungLawyer
#LawStudents#LegalCareer
#DisputeResolution
#CommercialLaw#CommonLaw
#BehindTheScenes#LegalCommunity
Новый продукт от English Law Report: первый чеклист из серии Red Flags
Сегодня мы запускаем первый чеклист из серии Red Flags — инструмент для быстрой оценки скрытых рисков в разделе Definitions & Interpretation.
Это та часть договора, которую обычно просматривают «на автомате», хотя именно через широкие определения расширяют обязанности, ответственность, NDA, IP и финансовые последствия.
В чеклисте собрано всё, что нужно для экспресс-анализа:
• где термин растянут
• какие слова токсичны по смыслу
• какие комбинации превращают обычную клаузы в источник серьёзных рисков
• какие безопасные формулировки можно сразу предложить контрагенту
Это первый чеклист в новой линейке.В ближайшее время появятся остальные — всего их будет 50.
Можно будет приобрести каждый по отдельности или одним пакетом в виде полноценного набора Red Flags.
Мы создаём серию, которую можно использовать как рабочий инструмент: быстро, понятно и по-английскому практично.
Если хотите получить доступ первыми — следите за обновлениями.
#EnglishLawReport#EnglishLaw#ContractLaw#LegalRisk#RedFlags#Definitions#ContractReview#ITContracts#CommercialLaw#LegalTools#Drafting#LegalPractice#LawyerLife#CommonLaw#LegalFramework
Contract Law (Law Express) — быстрый, умный гид по английскому договорному праву
О чем книга
Это не классический учебник и не философия права. Это концентрат. Finch и Fafinski берут весь массив английского contract law и раскладывают его по полочкам так, чтобы вы видели структуру, логику и типовые ловушки. От formation до remedies — без воды, но с нужной глубиной. Книга честно заявляет свою цель: помочь думать и отвечать, а не просто заучивать правила .
Ключевые моменты
– Четкая архитектура договора: offer, acceptance, intention, consideration — как единая система, а не разрозненные темы.
– Контрактные условия и исключения ответственности разобраны через кейсы и реальные экзаменационные сценарии.
– Ошибки, искажения воли, давление, undue influence — не как экзотика, а как практические риски.
– Remedies подаются через стратегию: что реально получить, а не что красиво звучит в теории.
– Постоянный акцент на common pitfalls — где студенты и практики теряют баллы и позиции.
Польза
Эта книга учит юридическому мышлению в формате “быстро распознать проблему → правильно квалифицировать → аккуратно применить право”. Она экономит время, снижает когнитивный шум и помогает видеть контракт не как набор правил, а как рабочий механизм. Особенно ценно то, что авторы постоянно показывают, как суд думает, а не просто что он решил.
Кому будет полезна
– Студентам LLB и GDL, которым нужно не просто сдать, а понять.
– Кандидатам на SQE и LPC как инструмент систематизации перед экзаменом.
– Юристам-практикам на раннем этапе, чтобы быстро “освежить” договорное право без перечитывания Treitel.
– Всем, кто работает с английскими контрактами и хочет меньше интуиции, больше структуры.
ВердиктELR
Law Express: Contract Law — это GPS по договорному праву. Не заменяет длинный путь, но показывает, где вы находитесь и куда идти дальше. Именно поэтому серия и стала бестселлером.
#ContractLaw#EnglishLaw#UKLaw#LawExpress
#LegalEducation#LawStudents
#LLB#GDL#SQE
#LegalThinking#CaseLaw
#CommonLaw#LegalRevision
#FutureLawyers#LawBooks
Поддержать канал можно: Tribute | Boosty | Tirikchilik