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

Резултати

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

Пребарај: #notguilty

当前筛选 #notguilty清除筛选
香港人的蘋果

@Appledailyhk26 · Post #56647 · 18.11.2023 г., 14:06

🇬🇧英國集會及活動時間 BHK整合🇬🇧 📌倫敦 London : 26/11 15:00 🔥 中國駐英國大使館 ,London W1B 1JL 🇬🇧英國工會發聲要港府釋放47人 示威活動 🔗tradeunionistsprotestfreethehk47.carrd.com 🔗t.me/britonshk/5008 *** 📌曼城 Manchester : 18/11 14:00 🔥 Piccadilly Gardens, Manchester, M1 1AF |戰火未曾止息,不可無人發聲。| 集會行動 🔗www.facebook.com/bonhamtreeaid 🔗t.me/britonshk/5003 *** 📌伯明翰 Birmingham: 18/11 10:30-13:00 📌卡迪夫 Cardiff: 18/11 13:00-15:00 📌雅士打 Exeter: 26/11 13:00-15:00 📌列斯 Leeds: 18/11 14:00-16:00 📌諾定咸 Nottingham: 26/11 13:00 - 15:00 📌雷丁 Reading: 19/11 13:00-15:00 📌雪埠 Sheffield: 26/11 13:00-15:00 快閃面具默站聯合行動🔥 《47人案》 *參與者喺各區著名地區景點,手持紙牌及戴上白色面具進行默站。 各個英國及海外港人組織希望再次透過聯合行動,將香港政治逼害嘅真相帶俾公眾。除此之外,我哋都想對身在牆內嘅所有手足表示支持。面對持續不公平嘅審訊,無了期嘅監禁,我哋需要發聲! 希望大家能夠一齊參與各地區嘅快閃默站行動,並呼籲當地人去影相加上 #SaveHKPoliticalPrisoners#SaveJimmyLai#HK47#NotGuilty 🔗t.me/standwithHK47/136 *** 🎯英國城市集會消息🎯 倫敦11.26 , 曼城11.18 伯明翰11.18 /卡迪夫11.18 /雅士打11.26 /列斯11.18 /諾定咸11.26/雷丁11.19 /雪埠11.26 有份英國聯署要求制裁香港官員,快啲加入! ⚠️ 加入聯署 一個仲會宣傳抗爭活動嘅英國TG公海 📌加入TG公海 BHK Support 🗳Vote for Hong Kong 2024 UK🗳

郭子健Daniel Kwok Tsz Kin

@tsingyidan · Post #1015 · 23.11.2023 г., 05:47

🇬🇧英國集會及活動時間 BHK整合🇬🇧 📌倫敦 London : 26/11 15:00 🔥 中國駐英國大使館 ,London W1B 1JL 🇬🇧英國工會發聲要港府釋放47人 示威活動 🔗tradeunionistsprotestfreethehk47.carrd.com 🔗t.me/britonshk/5008 *** 📌雅士打 Exeter: 26/11 13:00-15:00 📌諾定咸 Nottingham: 26/11 13:00 - 15:00 📌雪埠 Sheffield: 26/11 13:00-15:00 快閃面具默站聯合行動🔥 《47人案》 有關默站詳細嘅地點👇 🔗t.me/standwithHK47/137 各個英國及海外港人組織希望再次透過聯合行動,將香港政治逼害嘅真相帶俾公眾。除此之外,我哋都想對身在牆內嘅所有手足表示支持。面對持續不公平審訊,無了期嘅監禁,我哋需要發聲! 希望大家能夠一齊參與各地區嘅快閃默站行動,並呼籲當地人去影相加上 #SaveHKPoliticalPrisoners#SaveJimmyLai#HK47#NotGuilty *** 📌格拉斯哥 Glasgow 24/11,25/11,26/11 2023 格拉斯哥人權藝術節 開放及活動時間表出爐! 人權藝術節將於下週末發生,透過來自世界各地藝術作品,呈現香港人以及中國人民在政權迫害下掙扎求生的真實且壓抑的困境。感知 傷疤和所承受的痛苦,看見 種種侵犯人權和人道主義災難,讓參加者反思人權的寶貴。 日期:2023年11月24至26日 地點:The Haberdashery ( 545 Sauchiehall St, GLASGOW G3 7PQ ) 展覽開放時間: 24 NOV : 13:30-16:00 25-26 NOV : 10:00-15:00 詳情及報名 🔗t.me/scottishhongkongers/415 *** 🎯英國集會詳細文宣🎯 倫敦11.26 /雅士打11.26 /諾定咸11.26 /雪埠11.26 有份英國聯署要求制裁香港官員,快啲加入! ⚠️ 加入聯署 一個仲會宣傳抗爭活動嘅英國TG公海 📌加入TG公海 BHK Support 🗳Vote for Hong Kong 2024 UK🗳

🇬🇧英國集會及活動時間 BHK整合🇬🇧 📌倫敦 London : 26/11 15:00 🔥 中國駐英國大使館 ,London W1B 1JL 🇬🇧英國工會發聲要港府釋放47人 示威活動 🔗tradeunionistsprotestfreethehk47.carrd.com 🔗t.me/britonshk/5008 *** 📌曼城 Manchester : 18/11 14:00 🔥 Piccadilly Gardens, Manchester, M1 1AF |戰火未曾止息,不可無人發聲。| 集會行動 🔗www.facebook.com/bonhamtreeaid 🔗t.me/britonshk/5003 *** 📌伯明翰 Birmingham: 18/11 10:30-13:00 📌卡迪夫 Cardiff: 18/11 13:00-15:00 📌雅士打 Exeter: 26/11 13:00-15:00 📌列斯 Leeds: 18/11 14:00-16:00 📌諾定咸 Nottingham: 26/11 13:00 - 15:00 📌雷丁 Reading: 19/11 13:00-15:00 📌雪埠 Sheffield: 26/11 13:00-15:00 快閃面具默站聯合行動🔥 《47人案》 *參與者喺各區著名地區景點,手持紙牌及戴上白色面具進行默站。 各個英國及海外港人組織希望再次透過聯合行動,將香港政治逼害嘅真相帶俾公眾。除此之外,我哋都想對身在牆內嘅所有手足表示支持。面對持續不公平嘅審訊,無了期嘅監禁,我哋需要發聲! 希望大家能夠一齊參與各地區嘅快閃默站行動,並呼籲當地人去影相加上 #SaveHKPoliticalPrisoners#SaveJimmyLai#HK47#NotGuilty 🔗t.me/standwithHK47/136 *** 🎯英國城市集會消息🎯 倫敦11.26 , 曼城11.18 伯明翰11.18 /卡迪夫11.18 /雅士打11.26 /列斯11.18 /諾定咸11.26/雷丁11.19 /雪埠11.26 有份英國聯署要求制裁香港官員,快啲加入! ⚠️ 加入聯署 一個仲會宣傳抗爭活動嘅英國TG公海 📌加入TG公海 BHK Support 🗳Vote for Hong Kong 2024 UK🗳

香港人的蘋果

@Appledailyhk26 · Post #56579 · 15.11.2023 г., 09:37

#47人案 原定將會喺11月27日續審,處理雙方嘅結案陳詞。雖然有消息指開庭日期有變數,但《47人案》始終會喺不久嘅將來進入最後審判階段。 《47人案》縱然引起世界關注香港每況愈下嘅人權同自由,但我哋認為社會上對香港政治審判嘅關注程度仍然未夠。作為身在海外可以自由發聲嘅我哋,要趁住《47人案》續審呢個時候繼續引起公眾關注。 因此,各個英國及海外港人組織希望再次透過聯合行動,將香港政治逼害嘅真相帶俾公眾。除此之外,我哋都想對身在牆內嘅所有手足表示支持。面對持續不公平嘅審訊,無了期嘅監禁,我哋需要發聲! 希望大家能夠一齊參與各地區嘅快閃默站行動,並呼籲當地人去影相加上 #SaveHKPoliticalPrisoners#SaveJimmyLai#HK47#NotGuilty 放去唔同嘅社交媒體,令更多人知道香港政治審判嘅實況!並呼籲英國政府制裁港共官員! https://petition.parliament.uk/petitions/640649 #國安法#香港民族主義#初選大搜捕#未審先判#政治犯#欲加之罪#初選無罪#釋放政治犯

香港人的蘋果

@Appledailyhk26 · Post #56611 · 16.11.2023 г., 02:56

英國集會及活動 🇬🇧聯合行動聲援《47人案》 流動快閃面具默站 *參與者喺各區著名地區景點,手持紙牌及戴上白色面具進行默站。 希望大家能夠一齊參與各地區嘅快閃默站行動,並呼籲當地人去影相加上 #SaveHKPoliticalPrisoners#SaveJimmyLai#HK47#NotGuilty 📌伯明翰 Birmingham: 18/11 10:30-13:00 📌卡地夫 Cardiff: 18/11 13:00-15:00 📌雅士打 Exeter: 26/11 13:00-15:00 📌列斯 Leeds: 18/11 14:00-16:00 📌諾定咸 Nottingham: 26/11 13:00 — 15:00 📌雷丁 Reading: 19/11 13:00-15:00 📌雪埠 Sheffield: 26/11 13:00-15:00 ——————————————— 🇬🇧英國工會發聲要港府釋放47人 📌倫敦 London : 26/11 15:00 🔥 中國駐英國大使館 London W1B 1JL 11月27日,「香港47人」審判的最後階段將開始。此前一天,即11月26日,請大家都來參加我們工會成員的示威活動,聲援香港47人——他們只因為組織民主抗爭而面臨牢獄之災。我們當日行動也是爲了聲援所有為香港勞工和民主正義之舉而奮鬥的人們。 ———————————————- 🇬🇧烏克蘭人和香港人將會在英國Manchester集結一起,象徵兩個民族團結一心對抗暴虐的中俄政權。 📌曼城 Manchester : 18/11 14:00 🔥 Piccadilly Gardens, Manchester, M1 1AF 整合 by @britonshk #UK#國安法#初選大搜捕#未審先判#政治犯#初選無罪#釋放政治犯#支共禍患#NeverTrustCCP#evilCCP#TakeDownTheCCP#天滅中共全黨死清光