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

Пребарај: #nationaldialogue

当前筛选 #nationaldialogue清除筛选

የሀገራዊ ምክክር ኮሚሽን ተጨማሪ 8 ወራት የሥራ ጊዜ ተሰጠው ******************* የሀገራዊ ምክክር ኮሚሽን ተጨማሪ 8 ወራት የሥራ ጊዜ እንዲሰጠው የሕዝብ ተወካዮች ሞክር ቤት ወሰነ። ‎ ‎ምክር ቤቱ ዛሬ ባካሄደው አስቸኳይ ስብሰባ የኮሚሽኑን የአራት ዓመታት የሥራ ሪፖርት አድምጧል። ኮሚሽኑ ከተቋቋመበት የካቲት 14 ቀን 2014 ዓ.ም ጀምሮ ጥሩ ሥራ መሥራቱ ተጠቅሷል። ‎የተሰጠው ጊዜ የካቲት 14 ቀን 2018 ዓ.ም የሚያበቃ በመሆኑ በትግራይ ክልል አጀንዳ ማሰባሰብ እና የምክክር ጉባዔውን ለማካሄድ ተጨማሪ ጊዜ እንዲሰጠው በምክር ቤቱ የዲሞክራሲ ጉዳዮች ቋሚ ኮሚቴ ጠይቋል። ‎ ‎ምክር ቤቱም ከየካቲት 15 ቀን 2018 ዓ.ም ጀምሮ የሚቆጠር ተጨማሪ 8 ወራት የሥራ ጊዜ እንዲሰጠው በሙሉ ድምፅ ወስኗል። ‎ ‎በባዬ ሙላት ‎ #Ethiopia#NationalDialogue#HoPR

“ሌላ ሀገር የላችሁም፤ በቅን ልብ ለሀገራችሁ ሥሩ” - ኮሚሽነር መላኩ ወልደማርያም ***************** የኢትዮጵያ ሀገራዊ ምክክር ኮሚሽን ከማኅበራዊ ሚዲያ በጎ ተጽዕኖ ፈጣሪ ባለሙያዎች ጋር ተወያይቷል። በውይይቱ ላይ ተገኝተው ገለጻ ያደረጉት የኮሚሽኑ ኮሚሽነር መላኩ ወልደማሪያም፤ ማኅበራዊ ሚዲያ ለመልካም ነገር በቅን ልብ ከተጠቀምንበት ሀገር የመገንባት ኃይሉ ከፍተኛ ነው ብለዋል። በኢትዮጵያ ዘመን የተሻገሩ ችግሮችን ለመፍታት ብቸኛው አማራጭ ምክክር መሆኑን ያስገነዘቡት ኮሚሽነሩ፣ “ሌላ ሀገር የላችሁም፤ ከኮሚሽኑ ጋር በመተባባር ለሀገራችሁ ሥሩ” ሲሉ ለማኅበራዊ ሚዲያ በጎ ተጽዕኖ ፈጣሪ ባለሙያዎች መልዕክት አስተላልፈዋል። በመሆኑም ሀገራዊ ምክክሩ በሚያልፍባቸው ምዕራፎች በሀገር ባለቤትነት እና በኃላፊነት ስሜት ለማኅበረሰቡ ግንዛቤ መፍጠር እንደሚጠበቅባቸው አስገንዝበዋል። ከጥቂት ወራት በኋላ በሚደረገው ሀገራዊ ጉባኤ ላይም ከቅድመ ምክክር ጀምሮ ከኮሚሽኑ ጋር በመተባበር የዜግነት ኃላፊነታችሁን መወጣት አለባችሁ ሲሉም መልዕክት አስተላልፈዋል። በመድረኩ እስካሁን በኮሚሽኑ የተሠሩ ሥራዎችን እና ኮሚሽኑ ከማኅበራዊ ሚዲያ ባለሙያኑዎች የሚጠብቀውን ሥራ በተመለከተ በኮሚሽ ከፍተኛ ባለሙያዎች ገለጻ ተደርጓል። በመድረኩ የተሳተፉ ባለሙያዎች ያሏቸውን ጥያቄዎች አቅርበው በኮሚሽነር መላኩ ማብራሪያ ተሰጥቷቸዋል፤ ተሳታፊዎቹ ከኮሚሽኑ ጋር በጋራ እንደሚሠሩም ማረጋገጣቸውን ከኮሚሽኑ የተገኘው መረጃ ያመለክታል። #EBC#Ethiopia#Nationaldialogue#socialmedia#socialmediainfluencers

ሀገራዊ ምክክር፤ ለነገዋ ኢትዮጵያ አዲስ የሰላም መንገድ! 🇪🇹 *********** ኢትዮጵያ ትልቅ ሀገር ናት፤ ታሪካችንም እንደዛው። ሆኖም በታሪካችን ውስጥ የተፈጠሩ ስብራቶች፣ በትርክቶቻችን መካከል ያሉ ልዩነቶች እና ለዘመናት የዘለቁ የፖለቲካ አለመግባባቶች ዛሬም ድረስ ፈተና ሆነው ቀጥለዋል። ሀገራዊ ምክክር ለምን አስፈለገ? ጥላቻን በውይይት፣ ጥርጣሬን በመተማመን፣ እና ጠመንጃን በሐሳብ ለመተካት የታለመ ትልቅ የታሪክ ምዕራፍ ነው። ይህ ምክክር የጥቂት ሰዎች ድርድር ሳይሆን፣ በሀገር አቀፍ ደረጃ ሁሉም ያለልዩነት የሚሳተፉበት የኢትዮጵያውያን መድረክ ነው። ኢትዮጵያ እንደ አንድ ትልቅ ቤት ናት። ቤቱ ሲጠብበን፣ ግድግዳው ሲሰነጠቅ እና ጣራው ሲያፈስ፣ መፍትሔው ቤቱን ማፍረስ ሳይሆን በጋራ ተቀምጦ መጠገን ነው። ሀገራዊ ምክክሩ ይህንን ታሪካዊ እድል ይዞልን መጥቷል። ኢትዮጵያዊነት ማለት የአንድ ቀለም ድምር ሳይሆን የብዙ ቀለማት ውህደት ነው። በምክክሩ ወቅት የምናቀርበው የተለየ ሐሳብ ሀገራችንን የተሟላች ያደርጋታል። ዛሬ ተነጋግረን የማንፈታው ችግር ለልጆቻችን የቤት ስራ ሆኖ ይተርፍብናል። ይህ ምክክር ቂምን ለመቅበርና ይቅርታን ለመዝራት የቀረበ ታላቅ እድል ነው። ከምክክሩ ምን ይጠበቃል? ✅ የጋራ መግባባት፦ በሚያቃቅሩን ታሪካዊና ፖለቲካዊ ጉዳዮች ላይ ተቀራራቢ ሐሳብ መያዝ። ✅ ጠንካራ ተቋማት፦ ትውልድ ተሻጋሪ የሆኑ ሀገራዊ ተቋማትን መገንባት። ✅ ዘላቂ ሰላም፦ ለግጭት መንስኤ የሆኑ ጉዳዮችን ከስራቸው ነቅሎ መፍትሔ ማስቀመጥ። የእኛ ድርሻ ምንድነው? የምክክር ሂደቱ ውጤታማ የሚሆነው ሁላችንም በቅን ልቦና ስንሳተፍበት ነው። ልዩነቶቻችንን በጠረጴዛ ዙሪያ አቅርበን፣ ለልጆቻችን የምትመችና የተረጋጋች ሀገር ለማሳደር የሁላችንም ባለቤትነት እና ተሳትፎ ያስፈልጋል። ልዩነቶቻችንን በጠረጴዛ ዙሪያ አምጥተን፣ በንግግር አሸንፈን፣ የምትከበር ሀገርን ለልጆቻችን እናውርስ። በምክክሩ ላይ እንሳተፍ!! ንግግር የሰላም መንገድ ነው! መነጋገር ያሸንፋል! 🤝 #ኢትዮጵያ#ሀገራዊምክክር#ሰላም#NationalDialogue#Ethiopia#Unity

የሀገራዊ ምክክር 4 ዋና ዋና ጥቅሞች ****** 1. ከጠመንጃ ወደ ጠረጴዛ (ፖለቲካዊ መረጋጋት) 2. ማህበራዊ መግባባትና ዕርቅ (ብሔራዊ ፈውስ) 3. የኢኮኖሚ መረጋጋትና የኢንቨስትመንት ዕድገት 4. ጠንካራ የዲሞክራሲ ሥርዓትና የሀገር አንድነት #ሀገራዊ_ምክክር#ሰላም#ኢትዮጵያ#ብሔራዊ_ዕርቅ#NationalDialogue#EthiopianBroadcastingCorporation

የኢትዮጵያ ሀገራዊ ምክክር፡ ለዘላቂ ሰላምና ለጋራ ብሔራዊ ስምምነት አዲስ ምዕራፍ **************** የኢትዮጵያ ሀገራዊ ምክክር ኮሚሽን ከተመሠረተበት ጊዜ ጀምሮ በርካታ ውስብስብ ፈተናዎችን እየተጋፈጠ፣ ሀገራዊ መግባባትን ለማስፈን የሚያስችሉ ተጨባጭ ሥራዎችን በትጋት እያከናወነ ይገኛል። በሂደቱ በዋናነት ሁሉንም የኅብረተሰብ ክፍል ያሳተፈ፣ አካታችና ተዓማኒ ለማድረግ የሚያስችሉ የዝግጅት ተግባራትን ቅድሚያ ሰጥቶ ሲያከናውን ቆይቷል። ኮሚሽኑ ጠንካራ ተቋማዊ አወቃቀርና የሕግ ማዕቀፍ በመዘርጋት ለሥራው ምቹ ሁኔታ ከመፍጠሩም ባለፈ፣ በአዲስ አበባና በተለያዩ ክልሎች ሕዝባዊ ተሳትፎን መሠረት ያደረገ የተሳታፊዎች ልየታና የአጀንዳ ማሰባሰብ ሥራዎችን በስኬት አከናውኗል። #NationalDialogue#PeaceBuilding#ConflictResolution#NationalConsensus#EastAfrica#InclusiveDialogue