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

Резултати

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

Пребарај: #grid

当前筛选 #grid清除筛选
QQ资源岛-破解软件分享

@QQZYDAPP · Post #4543 · 05.11.2025 г., 16:31

⭐️【资源名称】: Quick Grid趣拼 🤖【适用平台】: #Andoid 🔄【应用版本】: 8.11.0 🔩【应用大小】:86MB 🧱【资源介绍】 趣拼 Quick Grid 是一个集拼图,自由拼,模版的拼图工具,简单易用,能够帮你快速拼接你想要的图片效果 🟢专业版 🟡在线下载:点击下载(无需密码) 📁#安卓软件#Quick#Grid#趣拼

The Idealist

@theidealist · Post #2394 · 16.02.2022 г., 13:00

​​Grid: в самой густонаселённой стране мира кризис рождаемости. Что происходит? Великий Китай на пороге беспрецедентного в истории демографического перехода. Грандиозный социальный эксперимент политики «одного ребёнка» на семью вкупе с трендом на отказ молодых китайцев от семейной жизни заложил бомбу замедленного действия под демографическое будущее Поднебесной, последствия «взрыва» которой ощутит на себе весь мир. И теперь уже Компартия идёт по пути не ограничения, но поощрения рождаемости. Есть ли шансы переломить тренд? Ведь экономическое процветание Китая последних лет во многом строилось на огромном количестве рабочей силы. «Нынешние тенденции создают монументальный переломный момент для страны, население которой - в особенности молодая рабочая сила - способствовало беспрецедентному экономическому подъему. В 2021 году показатели рождаемости и смертности в Китае почти сравнялись, и некоторые демографы говорят, что население Китая, возможно, уже начало сокращаться. После достижения пика численность населения будет снижаться - по некоторым прогнозам, значительно. По оценкам исследования, опубликованного в журнале «Ланцет» в 2020 году, к 2100 году население Китая может сократиться вдвое». https://theidealist.ru/chinademcrisis/ #Grid#власть#Китай#демография#кризис

The Idealist

@theidealist · Post #2441 · 19.05.2022 г., 13:00

​​GRID: чему мы можем научиться у людей, которые серьезно относятся к теории плоской Земли С юных лет детей учат тому, что наша планета имеет форму шара. Однако огромное число людей предпочитает придерживаться достаточно древних и весьма специфичных взглядов на природу нашего мира, представляя его себе как плоскость, плывущую по водам древнего океана мироздания. Звучит, на первый взгляд, как бред, но за подобными взглядами кроется нечто большее, чем невежество: нежелание принимать общепринятую картину мира. «Плоская Земля позволяет людям отбросить всю предыдущую информацию, в которую они не хотели верить, и перестроить свой мир с нуля..., по их мнению, речь идет буквальном о всемирном заговоре и о том, что все, что вам говорили, неправда - что мир сильно отличается от того, каким его представляли. Для некоторых людей это очень заманчивая перспектива». https://theidealist.ru/fearthsoc/ #GRID#общество#конспирология#плоскаяземля#интервью

Libreware

@libreware · Post #962 · 30.06.2021 г., 12:49

Off the Grid Messenger Off The Grid (OTG) Messenger is an easy way for people to communicate through text messages when in remote areas. With a theoretical transmission range of 10 miles (16kms), OTG messenger can be used by groups of people to stay connected when they are in areas not serviced by mobile connectivity. For portability and low power purposes, the device was created by re-purposing an old Nokia e63 phone I had laying around. The enclosure, LCD, keypad, backlighting and speaker have been re-used however the motherboard was re-designed from the ground up with low power components, a modern STM32 H7 microcontroller, an ISM LoRA radio and expanded flash memory. https://github.com/TrevorAttema/OTGMessenger Comments https://news.ycombinator.com/item?id=27659105 #otg#offthegrid#grid#im#messenger#alternatives#cellphone#mobile#nokia