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 слични објави

Пребарај: #nationalpark

当前筛选 #nationalpark清除筛选
罗咔咔

@luokakaroca · Post #108 · 05.04.2023 г., 07:03

⛰️ #爬山#公园#环保#自然#户外#outdoor#nationalpark#us#可持续#可循环 黄石公园、大烟山和大提顿公园近年来的参观人数创下新高,给已经需要数十亿美元维修费用的公园基础设施(道路、公用事业系统等)带来压力。 Parks Project公司出售户外相关的产品,比如服装,家居户外用品等,他将部分销售额捐赠给美国国家公园用于基础设施的维护。从2014年以来,公司和REI和国家地理杂志合作,筹集了超过250万美元,同时资助野生动物恢复项目和志愿者计划。 参考链接

free biologist 🐦‍⬛️

@freebiologist · Post #2674 · 21.05.2024 г., 16:46

Уважаемые подписчики! Нам очень нужна ваша помощь. Нам не хватает волонтёров, которые помогли бы с наблюдением. Проект у нас не только эколого-просветительский, но и научный. Нужны ответственные люди, которые любят птиц и могут помочь с 💪 с заполнением журнала наблюдений (вести его нужно по инструкции), 💪с созданием видеороликов (наши волонтёры подскажут временные метки, которые нужно записать), 💪 с определением птиц и голосов птиц, которые слышны в трансляциях 2 раза в день (для тех, кто различает голоса птиц и может определять их по внешнему виду). Приглашаем вас в нашу небольшую, но дружную команду единомышленников. Вы можете отправить заявку через портал dobro.ru, выбрав вакансию, которая вам интересна: https://dobro.ru/event/10648684?utm_source=dobroru&utm_medium=organic&utm_campaign=pagerepost&utm_content=event !!!Обратная связь на портале Добро.ру плохо налажена, поэтому просим оставлять данные для того, чтобы мы могли с вами связаться. Либо пишите нашим модераторам в чате трансляции на "Ютубе" Ссылки на наши трансляции Трансляция из гнезда орланов-белохвостов Чулмана и Камы в НП «Нижняя Кама»: https://vk.com/video/@orlanbeloxvost https://www.youtube.com/watch?v=MHpG2erIcgw Трансляция из гнезда солнечных орлов Алтына и Алтынай: https://vk.com/video/@altynychi https://www.youtube.com/watch?v=jXbu5y8EPYI #волонтеры#орланбелохвост#haliaeetusalbicilla#bird#eagle#wildlife#nature#birdbanding#nizhnyayakama#nationalpark#нижняякама#национальныйпарк#нпнижняякама#дикаяприрода#природа#челны#елабуга#eaglelovers#birdwatching#live#imperialeagle#russianbirds#солнечныйорел#могильник#aquilaheliaca

free biologist 🐦‍⬛️

@freebiologist · Post #2471 · 28.03.2024 г., 13:33

Уважаемые подписчики! В этом году у нас снова три камеры, и снова нужна ваша помощь. В скором времени наступит «жаркое» время, и нам не хватает волонтёров, которые помогли бы с наблюдением и развитием наших проектов в социальных сетях. Нужны ответственные люди, которые любят птиц и могут помочь с 💪 с заполнением журнала наблюдений (вести его нужно по инструкции), 💪с работой в чате трансляции и ответами на вопросы зрителей, 💪с созданием видеороликов (наши волонтёры подскажут временные метки, которые нужно записать), 💪 с определением птиц и голосов птиц, которые слышны в трансляциях 2 раза в день (для тех, кто различает голоса птиц и может определять их по внешнему виду), 💪 с написанием постов, 💪 с созданием узнаваемого образа нашей группы в социальных сетях (нужен графический дизайнер). Приглашаем вас в нашу небольшую, но дружную команду единомышленников. Вы можете отправить заявку через портал dobro.ru, выбрав вакансию, которая вам интересна: https://dobro.ru/event/10648684?utm_source=dobroru&utm_medium=organic&utm_campaign=pagerepost&utm_content=event или связаться с нами через наши странички Вконтакте: https://vk.com/orlanbeloxvost Телеграм: https://t.me/+M7VcA02FRsozMjUy Ссылки на наши трансляции Трансляция из гнезда орланов-белохвостов Чулмана и Камы в НП «Нижняя Кама»: https://vk.com/video/@orlanbeloxvost https://www.youtube.com/live/MHpG2erIcgw?si=Wq7j5T4v9vQD_oft Трансляция из гнезда солнечных орлов Алтына и Алтынай: https://vk.com/video/@altynychi https://www.youtube.com/live/jXbu5y8EPYI?si=0RGctoHQH-r96syW Трансляция из нового гнезда солнечных орлов Нура и Кояш: https://vk.com/video/@aquila.heliaca https://www.youtube.com/live/8mldNn8wnzw?si=4hxxFDdeRf70IHrB #волонтеры#орланбелохвост#haliaeetusalbicilla#bird#eagle#wildlife#nature#birdbanding#nizhnyayakama#nationalpark#нижняякама#национальныйпарк#нпнижняякама#дикаяприрода#природа#челны#елабуга#eaglelovers#birdwatching#live#imperialeagle#russianbirds#солнечныйорел#могильник#aquilaheliaca

🗺 Travel the World | Private Expeditions

@expeditionsworldwide · Post #488 · 03.07.2023 г., 13:03

🫶 Dear subscribers! We delighted that you're following our channel! On our channel, you'll find everything about travel! By using hashtags, you can easily find the content that interests you. CHANNEL CONTENT: 📹#videoclips 🧭#expedition 🏔️#hiking 🤿#diving 🧨#unusualplaces ⛩#bridges 🏔#mountains ⌛️#facts ✈️#airplanecemeteries 🗻#hills 🏜#discoveries 🏖#beaches 🈴#China 🕌#India 💒#temples 🏤#architecturalmasterpieces 🚆#journeys 🏜#vacations 🎇#UNESCO ⛰#cliffs 🌋#canyon 🌊#lakes 🏢#skyscrapers ⛲️#waterfalls ⛴#dam 🏕#inaccessibleplaces 🌋#volcano 🚀#traveladvice 🌊#sea 🌲#forest 🏝#island 🌅#desert 🌫#ponds ⛰#cave ⭐️#travelhacks ⛺️#nationalpark Thank you for being a part of our travel community! Happy exploring! 🪐Discover upcoming expeditions — https://4elementos.shop