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

Резултати

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

Пребарај: #rationaluseofmedicine

当前筛选 #rationaluseofmedicine清除筛选
Cerdas Gunakan Obat

@cerdasgunakanobat · Post #2831 · 16.11.2018 г., 10:55

[WORLD ANTIBIOTICS AWARENESS WEEK] • https://www.instagram.com/p/BqPPFTSAf3p/?utm_source=ig_share_sheet&igshid=1kt9weq66nmep • Sobat GeMa CerMat, Masih dalam rangka Pekan Peduli Antibiotik Dunia tanggal 12-18 November niiih... • Yuukk... ikut waspada dengan semakin banyaknya bakteri yang kebal (resisten) dengan antibiotik. Bakteri resisten adalah bakteri yang kebal dengan antibiotik yang dimaksudkan untuk membunuhnya. Resistensi ini sudah menjadi ancaman besar di seluruh dunia. Berbagai laboratorium mengupayakan agar bakteri resisten ditemukan. • Bakteri resisten ini menyebar dengan cepat karena kemampuannya membelah diri dan berpindah. Penyebabnya banyak. Salah satunya adalah penggunaan antibiotik secara tidak tepat. Bukan hanya pada manusia, tapi juga pada hewan ternak dan perikanan. • Kita semua bisa ikut mencegah terjadinya penyebaran bakteri resisten ini. Bisa dengan cara: - Meningkatkan kesadaran dan pengetahuan tentang bahaya resistensi Antimikroba dan penggunaan antibiotik bijak. - Mencegah terjadinya infeksi dengan sanitasi dan higienis - Menggunakan antibiotik secara bijak • Bagaimana kita bisa menggunakan antibiotik dengan bijak? Ada 5T dalam GeMa CerMat, yaitu: 1. TIDAK membeli antibiotik TANPA RESEP DOKTER 2. TIDAK menggunakan antibiotik SELAIN untuk INFEKSI BAKTERI 3. TIDAK MENYIMPAN antibiotik di rumah untuk PERSEDIAAN. 4. TIDAK MEMBERI antibiotik SISA pada orang lain. 5. TANYAKAN pada APOTEKER, informasi tentang antibiotik. • Mari ikut mencegah resistensi terhadap antibiotik, bijaklah dalam menggunakan antibiotik. • Musik latar: "Resistensi Antibiotik", ciptaan Umy Qalsum, S.Si, Apt, Kasi Kefarmasian, Dinkes Kab. Polewali Mandar, Sulawesi Barat Penyanyi: Tim AoC GeMa CerMat Kab. Polman, Sulbar. • Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat). Fanpage FB: Cerdas Gunakan Obat Twitter & IG: @gemacermat Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat Email: [email protected] • #antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018

Cerdas Gunakan Obat

@cerdasgunakanobat · Post #2814 · 13.11.2018 г., 13:25

[WORLD ANTIBIOTICS AWARENESS WEEK] • https://www.instagram.com/p/BqH0BYlgeRu/?utm_source=ig_share_sheet&igshid=1367llqjaqrti • Sobat GeMa CerMat, Tahukah kamu? Tanggal 12 - 18 November 2018 adalah "Pekan Peduli Antibiotik Dunia" (World Antibiotics Awareness Week). • Kampanye kesadaran dan kepedulian antibiotik ini diadakan di seluruh dunia pada minggu ketiga November setiap tahun. Mengapa kampanye ini perlu? Karena kekebalan (resistensi) bakteri terhadap antibiotik telah menjadi ancaman serius di seluruh dunia. • Secara global, pada tahun 2017 ada 558.000 orang yang menderita penyakit tuberkulosa (TB) Resisten Obat dan 23.000 di antaranya berada di Indonesia. Resistensi obat ini mulai menyulitkan upaya global memerangi penyakit HIV dan malaria.(WHO) • Kematian akibat resistensi diperkirakan mencapai 10 jt jiwa/tahun pada tahun 2050. Bahkan dapat melebihi kematian akibat kanker. Ditambah lagi beban biaya akibat kematian dan penyakit yang ditimbulkan. • Mari ikut mendukung upaya pengendalian resistensi antimikroba. Mulailah menggunakan antibiotik secara bijak. Kalau bukan kita, siapa lagi? Kalau bukan sekarang, kapan lagi? • Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat). Fanpage FB: Cerdas Gunakan Obat Twitter & IG: @gemacermat Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat Email: [email protected] • #antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018

Cerdas Gunakan Obat

@cerdasgunakanobat · Post #3668 · 29.05.2020 г., 05:44

https://www.instagram.com/p/CAwqfs_paSN9_o4zDFEFwYTbeYwi49pAPcM9sw0/?igshid=h6p2jarpdnmz , Penggunaan Antibiotik seperti sudah menjadi hal lazim dalam pelayanan kesehatan. Tapi apakah Bapak/Ibu mengerti bahwa tidak semua penyakit membutuhkan Antibiotik? Terutama pada anak, memberikan Antibiotik BUKANLAH solusi dari semua masalah kesehatan. Bukannya sembuh, anak malahan mendapatkan bahaya di kemudian hari. Apa saja bahayanya menggunakan Antibiotik secara tidak tepat (Irrasional)? . . Yuk ikutan Siaran Live Instagram bersama dr. Lucky Yoga, SpA dan Kak apt. Erie Gusnellyanti, MKM (Nelly), membahas "Bahaya Penggunaan Antibiotik Irrasional pada Anak". . Minggu, 31 Mei 2020, 15.30 - 16.30 WIB Di akun Instagram @dr.lucky.sp.a dan @nellysyukri Follow dulu akunnya yaaa.. Jangan lupa dibagikan informasi ini sebanyak-sebanyaknya. . . #antibiotik#bijakantibiotik#antibiotikbijak#saveantibiotic#antibiotikrasional#antimicrobialresistance#resistensiantimikroba #rationaluseofmedicine #apotekerindonesia #dokterspesialisanak #cerdasgunakanobat#gemacermat