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

Резултати

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

Пребарај: #pmabiy

当前筛选 #pmabiy清除筛选

የኮሪደር ልማት ስራዎች በርካታ ከተሞችን እየለወጡ ይገኛሉ - ጠቅላይ ሚኒስትር ዐቢይ (ዶ/ር) ****************** ‌‎የኮሪደር ልማት ስራዎች የተሻለ ሀገርን ለትውልድ የመገንባት አካል ሆነው በርካታ ከተሞችን እየለወጡ ይገኛሉ ሲሉ ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ገለፁ፡፡ ጠቅላይ ሚኒስትሩ በማኅበራዊ የትስስር ገጻቸው ባጋሩት መልዕክት፤ በሐዋሳ ከተማ በሁለተኛው ምዕራፍ የተከናወኑ የኮሪደር ልማት ስራዎችን በዛሬው ዕለት ተመልክተናል ብለዋል። የኮሪደር ልማት ስራዎች የተሻለ ሀገርን ለትውልድ የመገንባት አካል ሆነው በርካታ ከተሞችን እየለወጡ ይገኛሉ ያሉት ጠቅላይ ሚኒስትሩ፤ አጠቃላይ ስራዎቹ እያደገ ለመጣው ከተሜነት ሀገርን ያዘጋጁ መሆናቸውንም ገልፀዋል። #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከላይቤሪያ ፕሬዝዳንት ጆሴፍ ቦካይ ጋር መከሩ ***************** ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከላይቤሪያ ፕሬዝዳንት ጆሴፍ ቦካይ ጋር ውይይት አድርገዋል፡፡ ጠቅላይ ሚኒስትሩ በማህበራዊ ትስስር ገጻቸው፤ ከላይቤሪያ ፕሬዝዳንት ጆሴፍ ቦካይ ጋር ተገናኝተን በቴክኖሎጂ፣ ሰው ሰራሽ አስተውሎት እና በተለይም ኢትዮጵያ ለመመስረት ባቀደችው የሰው ሰራሽ አስተውሎት ዩኒቨርሲቲ በተመለከተ የሁለትዮሽ ውይይት አድርገናል ብለዋል። #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከአዲሱ የአፍሪካ ኅብረት ሊቀመንበር ጋር ተወያዩ ******* አዲሱን የኅብረታችን ሊቀመንበር፤ የቡሩንዲ ፕሬዝዳንት ኢቫሪስቴ ንዳይሺሚዬን አግኝቼ በተረከቡት ኃላፊነት ደስታዬን ገልጬላቸዋለሁ ሲሉ ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ገለጹ። የአፍሪካውያን ጠንካራ ትብብር እና ቀጣናዊ ግንኙነቶችን ለማሳደግ በሚያስችሉ የተለያዩ ርዕሰ ጉዳዮች ዙሪያ ውይይት አድርገናል ብለዋል። #EBC#PMAbiy#Ethiopia#AUSummit2026

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከኮትዲቯር ምክትል ፕሬዝዳንት ቲዬሞኮ ሜይሊየት ኮኔን ጋር ተወያዩ ******* ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከኮትዲቯር ምክትል ፕሬዝዳንት ቲዬሞኮ ሜይሊየት ኮኔን ጋር መወያየታቸውን አስታወቁ። መሪዎቹ በዛሬው ዕለት ባካሄዱት ውይይት፣ በአኅጉራዊ እና የሁለቱ ሀገራት የወል ፍላጎቶች በተመለከቱ ጉዳዮች ላይ መምከራቸውን ጠቅላይ ሚኒስትሩ ገልጸዋል። ይህ የሁለቱ መሪዎች ውይይት በአዲስ አበባ እየተካሄደ ከሚገኘው 39ኛው የአፍሪካ ኅብረት የመሪዎች ጉባዔ ጎን ለጎን የተከናወነ መሆኑ ታውቋል። #PMAbiy#Ethiopia#EBC#cotedivoire

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከቦትስዋና ፕሬዝዳንት ዱማ ቦኮን ጋር ተወያዩ ****************** ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከቦትስዋና ፕሬዝዳንት ዱማ ቦኮን ጋር በሁለትዮሽ እና ቀጣናዊ ጉዳዮች ላይ ተወያይተዋል፡፡ ጠቅላይ ሚኒስትሩ በማህበራዊ ትስስር ገጻቸው፤ የቦትስዋና ፕሬዝዳንት ዱማ ቦኮን አግኝቼ፤ በሁለትዮሽ እና ቀጣናዊ ጉዳዮች፣ ለተሻለ ኢኮኖሚያዊ ትብብር ያሉ እድሎች እና አፍሪካን ቀጣይ የሚመራ ትውልድን ማብቃት ላይ በጋራ በምንሰራበት አውድ ዙሪያ ውይይት አድርገናል ብለዋል። #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy#Diplomacy#AUSummit2026

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከሊቢያ ፕሬዝዳንታዊ ምክር ቤት ሊቀመንበር መሃመድ አልመንፊ ጋር ተወያዩ ***************** ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከሊቢያ ፕሬዝዳንታዊ ምክር ቤት ሊቀመንበር መሃመድ አልመንፊ ጋር በቀጣናዊ ልማት እና የሁለትዮሽ ግንኙነት ላይ ውይይት ማድረጋቸውን በማህበራዊ ትስስር ገጻቸው አስታውቀዋል። #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy#Diplomacy#AUSummit2026

የጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) የትግርኛ ቃለ-መጠይቅ ዋና ዋና ፍሬ-ሐሳቦች ****************** የሰሜኑ ጦርነት መንስኤዎችን በተመለከተ ሕወሓት ከ50 ዓመት በፊት በነበረ ኋላቀር አስተሳሰብ የታሰረ መሆኑና ለውጥን ለመቀበል አለመፈለጉ። ዓለም በቴክኖሎጂና በ"ፕራግማቲዝም" በምትመራበት ዘመን፣ ድርጅቱ በአሮጌው መንገድ ለመጓዝ መሞከሩ ለግጭት ዳርጎታል። ቆሞ ቀሩ ኃይል "ኢትዮጵያ ትፈርሳለች" የሚል የተሳሳተ ስጋት በመዝራት የለውጡን ኃይል እንደ ጠላት ማየቱ። በኢትዮጵያ የነበረው የተሳሳተ ትርክት ዜጎች በጥርጣሬ እንዲኖሩ ማድረጉ። የፕሪቶሪያው የሰላም ስምምነት ተግባራዊነት በተመለከተ ጠቅላይ ሚኒስትሩ የሚከተሉትን ነጥቦች አንስተዋል፡- መንግሥት የትግራይ ሕዝብ ሰላም እንዲያገኝ ባንክ፣ መብራትና ቴሌኮም የመሳሰሉ አገልግሎቶችን በፍጥነት እንዲመለሱ ማድረጉን ገልጸዋል። ሆኖም ቆሞ ቀሩ ቡድን ስምምነቱን "መርጦ የመተግበር" (Cherry-picking) ዝንባሌ እያሳየ መሆኑን ተችተዋል። በተለይም የሕገ-መንግሥታዊ ሥርዓቱንና የብሔራዊ ምርጫ ቦርድን ውሳኔ አለማክበሩን ጠቅሰዋል። ድርጅቱ ለልማት የተመደበውን በጀት ለጦርነት ዝግጅትና ለታጣቂዎች ቀለብ እየዋለ መሆኑን ገልጸው፣ ይህም በትግራይ ሕዝብ ላይ ተጨማሪ መከራ እያመጣ መሆኑን አስገንዝበዋል። በጦርነቱ ወቅት የተፈጸሙ የሰብዓዊ መብት ጥሰቶችን በተመለከተ፡- ጦርነት ሁልጊዜም አስከፊ ገጽታ እንዳለው ገልጸው፣ ተጠያቂነትን ለማረጋገጥ የሽግግር ፍትሕ (Transitional Justice) አስፈላጊ መሆኑን ጠቁመዋል። ይህ ሂደት ከፖለቲካ ወገንተኝነት ነፃ በሆነ መንገድ ሊካሄድ እንደሚገባውና ወንጀል የፈጸሙ አካላት በሕግ መጠየቅ እንዳለባቸው ገልጸዋል። የኤርትራ መንግሥት (ሻዕቢያ) ሚና በጦርነቱ ወቅት የኤርትራ ጦር ያደረገው ድጋፍ የሚታወስ መሆኑን ጠቅሰዋል። ሆኖም በጦርነቱ ሂደት የተፈጸሙ ማናቸውም ዓይነት ጥፋቶች፣ ግድያዎችና ዘረፋዎች (በተለይም በአክሱም፣ ዓድዋና ሽሬ አካባቢዎች) የማይቀበሉትና የሚወገዝ ተግባር መሆኑን በግልጽ አስታውቀዋል። መንግሥት ማንኛውንም የውጭ ኃይል ጣልቃ ገብነት እንደሚቃወምና የሀገርን ሉዓላዊነት ለማስከበር እንደሚሠራ ገልጸዋል። የሰላምና የልማት ጥሪ ጠቅላይ ሚኒስትሩ ለትግራይ ሕዝብና ወጣቶች ያስተላለፉት መልዕክት፡- "የትግራይ ሕዝብ ከጦርነት ይልቅ ሰላምና ልማት ይገባዋል" ብለዋል። ወጣቶች የስልጣን ባለቤት እንዲሆኑና በአሮጌ አስተሳሰብ ለጦርነት ከሚገፋፏቸው አካላት ራሳቸውን እንዲጠብቁ መክረዋል። መንግሥት በትግራይ ክልል ሰላም እንዲሰፍንና ዳግም ጦርነት እንዳይከሰት ጽኑ ፍላጎት እንዳለውና ለዚህም ማንኛውንም መስዋዕትነት እንደሚከፍል አረጋግጠዋል። #PMAbiy#peace#Tigray#Ethiopia

ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከታንዛኒያ ዩናይትድ ሪፐብሊክ ፕሬዝዳንት ጋር ተወያዩ ******************* ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ከታንዛኒያ ዩናይትድ ሪፐብሊክ ፕሬዝዳንት ሳሚያ ሱሉህ ሀሰን ጋር ተወያይተዋል፡፡ ጠቅላይ ሚኒስትሩ በማህበራዊ ትስሰር ገጻቸው ባጋሩት መልእክት፤ ከታንዛኒያ ዩናይትድ ሪፐብሊክ ፕሬዝዳንት ሳሚያ ሱሉህ ሀሰን ጋር የሁለትዮሽ ግንኙነትን በሚያጠናክሩ አስቻይ ጉዳዮች ላይ ውይይት አድርገናል ብለዋል:: #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy#Tanzania#Diplomacy

“130 ሚሊዮን ሕዝብ ያላት ሀገር የባሕር በር አጥታ ተዘግቶባት መኖር እንደሌለባት ከቱርክዬ ፕሬዚዳንት ረጀብ ጠይፕ ኤርዶዋን ጋር ተወያይተናል” - ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ************************** "130 ሚሊዮን ሕዝብ ያላት ሀገር የባሕር በር አጥታ ተዘግቶባት መኖር እንደሌለባት እና ሀገራችን የባህር በር በሰላማዊ መንገድ ማግኘት የምትችልበት ሁኔታ ላይ እንዲያግዙ ከቱርክዬ ፕሬዚዳንት ረጀብ ጠይፕ ኤርዶዋን ጋር ተወያይተናል” ሲሉ ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ገለጹ። ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) እና ፕሬዚዳንት ረጀብ ጠይፕ ኤርዶዋን በብሔራዊ ቤተመንግሥት የጋራ መግለጫ እየሰጡ ይገኛሉ። #EBC#ebcdotstream#Ethiopia#PMAbiy#RecepTayyipErdoğan#Turkiye#Diplomacy

‎"ከአንካራ እስከ አዲስ አበባ፤ በሁለቱ ጥንታዊ ሀገራት መካከል ያለውን ትብብር ይበልጥ የሚያጠናክሩ እና ዘላቂ ትስስርን የሚያረጋግጡ ውጤታማ ውይይቶች እንዲኖሩን እመኛለሁ" ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) #EthiopianBroadcastingCorporation#Ebcdotstream#Ethiopia#PMAbiy#RecepTayyipErdoğan#Turkiye#Diplomacy

12
ПретходнаСтраница 1 од 2Следна