@UltimoraPOlitics · Post #38549 · 06.05.2022 г., 15:55
#Elezioni#RegnoUnito#Amministrative Consiglio di #Manchester: #LAB|S&D: 92 seggi (-1) #Greens|G/EFA: 2 (+1) #LDEM|RE: 2 Il Consiglio rimane LAB. @UltimoraPolitics
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
Пребарај: #manchester
@UltimoraPOlitics · Post #38549 · 06.05.2022 г., 15:55
#Elezioni#RegnoUnito#Amministrative Consiglio di #Manchester: #LAB|S&D: 92 seggi (-1) #Greens|G/EFA: 2 (+1) #LDEM|RE: 2 Il Consiglio rimane LAB. @UltimoraPolitics
@addisstandardeng · Post #21655 · 09.03.2026 г., 13:46
#IndiGo flight from Delhi to Manchester makes sudden mid-air U-turn near #Ethiopia A #Delhi–#Manchester flight operated by IndiGo made an unexpected mid-air U-turn near the Ethiopia border on Monday, with the reason for the diversion still unclear. Flight 6E33, operated on a Boeing 787-9 Dreamliner, had departed from Indira #Gandhi International Airport in 3New_Delhi on a scheduled service to Manchester in the #United_Kingdom. The aircraft was en route over East Africa when it abruptly changed course and returned toward Indian airspace. Flight tracking data shows that the plane had approached the Ethiopian border before performing the sudden turnaround. There has been no indication of. a technical fault or operational issue, and no official explanation has been provided by the airline. Passengers on board were reportedly unaware of any immediate danger, and the flight later ..... https://web.facebook.com/AddisstandardEng/posts/pfbid0DLWYcW6KDf5PwDbLUSGtFnaFaqFRT4wKEQFRdFoMFMQxHJc2HrXHWDYoZz4FVugvl
@appledailyhk26 · Post #54561 · 01.09.2023 г., 10:44
2023.8.31 我哋捍衛港人陣線主辦嘅「曼城831集會」剛剛結束。現場大約有400位真香港人出席,我哋一齊以海外香港人嘅身份,將黑警831太子站對市民嘅作出恐怖襲擊嘅罪行,再次向英國當地人揭露;並向港共政權,表達出真香港人毋忘831嘅意志。 今次集會,多謝,許智峯、楊穎宇及黃偉國3位嘉賓嘅錄音發言。 3位嘉賓,分別由法律、歷史及道德嘅觀點,解讀黑警831嘅罪行,令曼城嘅真香港人,更加透徹認識中共及港共嘅真面目。 十月一日再見! Posted on @hkidforce #曼城#UK#Manchester#太子831#太子恐襲#黑警#好仔唔當差當差正仆街#警暴#黑警死全家#每日一願望黑警冚家亡
@hkdmovement · Post #7969 · 20.04.2025 г., 23:11
曼城街頭流水式集會 Full-Day Rally——Against to unacceptable China Mega Embassy 🗓️ 24 April (Thu) ⏱️ 9am — 4pm 📍 38 Warrington St, Ashton-under-Lyne OL6 7JS (Outside McDonald’s) [無口號和平行動] 過嚟至少拎起塊紙牌show比途人睇有咩危機殺緊過嚟💪🏻 人數及輪替方式:每小時至少20人,無人輪替就一齊企到尾 [如有需要可自備口罩] Source: Manchester Stands With Hong Kong #Manchester#UK#NoMegaEmbassy#NoSuperEmbassy#超級大使館#倫敦#London#英國#鑄幣廠#中國超級大使館#舊皇家鑄幣廠#royalmintcourt