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

Резултати

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

Пребарај: #tinh

当前筛选 #tinh清除筛选
AAASUBS

@aaasubs · Post #255 · 23.01.2024 г., 13:38

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Создатель шоу - Ари Шаффир (Ari Shaffir). Пристегнитесь, вероятно, самая ебанутая история за всю историю шоу: Джесса Рид рассказывает про то... как пила свою мочу под метом (даже Большой Джей охуел 😂). Насколько отвратительна тема, настолько же блистательно Джесса рассказала про свою историю зависимости. Нарратив и подача, моё почтение! Мастер-класс сторителлинга. Мой Boosty: https://boosty.to/aaasubs #tinh

Hashtags

AAASUBS

@aaasubs · Post #157 · 17.11.2022 г., 08:38

Решил скомпоновать для вас две замечательные истории от Али Сиддика про то, как он сидел в тюрьме. Али очень талантливый рассказчик, умеющий находить юмор в подчас крайне мрачных и тяжёлых моментах своей жизни. В этом году на ютубе вышел его спешл DOMINO EFFECT, где он подробно описывает, как в своё время он стал на преступный путь. Его трагичная история по идее должна вызывать грусть и тоску, но Али как всегда умеет найти юмор в своей непростой жизни. Если знаете английский, очень рекомендую. Штучная вещь. Возможно, когда-нибудь его переведу. Перевод второй истории сделал Алексей Мотуренко. #tinh Мой Boosty (подписавшись, вам будет доступен эксклюзивный контент и ранний доступ к большим релизам, лучший способ поддержать меня!): https://boosty.to/aaasubs

Hashtags

AAASUBS

@aaasubs · Post #133 · 05.06.2022 г., 16:15

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). Курт Мецгер (Kurt Metzger) рассказывает о том, каково было расти Свидетелем Иеговы. Перевод: Алексей Мотуренко (Алексей недавно выпустил собственный телеграм-канал, где он будет выкладывать свои переводы, обязательно подпишитесь: https://t.me/comedyshit) #tinh

Hashtags

AAASUBS

@aaasubs · Post #119 · 25.04.2022 г., 13:18

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). Грег Фитцсиммонс (Greg Fitzsimmons) рассказывает о продажных копах, кокаине, хеклерах и прочих прелестях суровых стендап клубов в Бостоне Перевод: Алексеей Мотуренко #tinh

Hashtags

AAASUBS

@aaasubs · Post #84 · 30.12.2021 г., 18:48

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). В этом выпуске Али Сиддик рассказывает о том, до чего тюрьма доводит молодого человека. Перевод: Алексеей Мотуренко, и благодарность ему за то, что любезно дал согласие на публикацию своего перевода #tinh

Hashtags

AAASUBS

@aaasubs · Post #18 · 05.04.2020 г., 16:58

Мария Бэмфорд занимается стендапом с конца 90-ых. У неё крайне оригинальный стиль. Дело в том, что судьба семьи Марии крайне непростая: в её семье есть предрасположенность к психическим расстройствам. И у самой Марии диагностировали Биполярное Расстройство второго типа и обсессивно-компульсивное расстройство личности. Её стендап крайне неординарный, будто у неё чердак протекает (хе-хе). Ну, кроме шуток, она часто шутит на тему сумасшествия и даже суицида, но её безумный стиль помогает ей превратить в шутку даже самые серьёзные темы. Мария очень успешный актёр озвучки, а также у неё есть собственный сериал на Netflix "Lady Dynamite" (Взрывная Штучка), где она со своим неповторимым чувством юмора рассказывает о своей непростой семье. Это её выступление на шоу This Is Not Happening Ари Шаффира, где она рассказывает как попала в психушку. #tinh

Hashtags

AAASUBS

@aaasubs · Post #6 · 16.03.2020 г., 04:47

THIS IS NOT HAPPENING - комедийное шоу, в котором комики рассказывают на сцене какие-нибудь случаи, которые РЕАЛЬНО произошли в их жизни. Не совсем стендап, скорее истории из жизни. В данном отрезке Али Сиддик рассказывают про то, как он попал в тюрьму. #tinh

Hashtags

AAASUBS

@aaasubs · Post #233 · 26.10.2023 г., 11:03

Привет всем новоприбывшим! У нас тут весело! (кстати кто-нибудь отпишите в комментах откуда вы все понабежали, а то я без понятия 😅) По хештегам можно посмотреть бывшие выпуски рубрик или выступления комиков. Ссылка на Boosty (скоро там будет эксклюзивный релиз): https://boosty.to/aaasubs Вроде всё. This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Создатель шоу - Ари Шаффир (Ari Shaffir). Большой Джей Окерсон рассказывает о том, как он изменил своей бывшей, попал на сайт гей-знакомств, а также о том как его подколол Патрис О'Нил(кстати на бусти можете посмотреть полную версию прожарки Патриса О'Нила от Бена Бейли, отрывок можно посмотреть тут) #tinh#bigjayoakerson

AAASUBS

@aaasubs · Post #187 · 22.02.2023 г., 16:32

Давно пора было уже сделать подборку выступлений Большого Джея Окерсона на шоу This Is Not Happening. В этом созданном Ари Шаффиром шоу комики рассказывают реальные истории из своей жизни. И мало на чью долю выпадало столько экстравагантных случаев, сколько было у Большого Джея, а его маститый талант рассказчика превращает каждую историю в брильянт пошлого и беспрекословного юмора! Материал строго 18+, я бы даже сказал 21+ #tinh#bigjayoakerson Мой Boosty: https://boosty.to/aaasubs

AAASUBS

@aaasubs · Post #156 · 11.11.2022 г., 09:27

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). Большой Джей Окерсон рассказывает о том, как он лишился девственности. #tinh#bigjayoakerson Мой Boosty (подписавшись, вам будет доступен эксклюзивный контент и ранний доступ к большим релизам, лучший способ поддержать меня!): https://boosty.to/aaasubs

AAASUBS

@aaasubs · Post #148 · 18.09.2022 г., 06:27

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). В прошлый раз Большой Джей Окерсон рассказывал о том, как увидел межрасовую межвидовую групповуху. В этот раз Джей расскажет о групповухе, в которой участвовал он сам. #tinh#bigjayoakerson Мой Boosty: https://boosty.to/aaasubs

AAASUBS

@aaasubs · Post #141 · 14.07.2022 г., 14:47

This Is Not Happening: шоу в котором комики рассказывают различные реальные случаи из жизни на общую тему. Скорее не стендап, а жизненные байки. Ведущий шоу - Ари Шаффир (Ari Shaffir). Большой Джей Окерсон рассказывает о том, как увидел межрасовую межвидовую групповуху. Перевод сделан по просьбе Владимира Синицына, моего первого подписчика на Boosty, спасибо, бро! Подписывайтесь и вы, если хотите больше крутых переводов! Если хотите поддержать меня, но не хотите заморачиваться с регистрацией на Бусти, можете сделать перевод по одному из реквизитов ниже: СБЕРБАНК — 4276160926766784 РАЙФФАЙЗЕН — 4627291477080394 #tinh#bigjayoakerson

12
ПретходнаСтраница 1 од 2Следна