@SukoFaultyArtLair · Post #4792 · 07.01.2020 г., 13:21
https://www.furaffinity.net/view/34509048/ #female#ParasiteEve#Aya
Hashtags
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
Пребарај: #aya
@SukoFaultyArtLair · Post #4792 · 07.01.2020 г., 13:21
https://www.furaffinity.net/view/34509048/ #female#ParasiteEve#Aya
Hashtags
@Yeqingjie_GJG666 · Post #749 · 03.03.2023 г., 01:24
阿雅与魔女 (2020) [REMUX Blu-ray] ◎年 代: 2020 ◎产 地: 日本 ◎类 型: 动画/奇幻 ◎豆 瓣: 5.5/10 from 2149 users ◎IMDb : tt12441478 ◎又 名: 安雅与魔女 / Aya to Majo / Earwig and the Witch ◎语 言: 日语 / 英语 ◎简 介: 《阿雅与魔女》是改编自戴安娜·韦恩·琼斯的同名奇幻小说,故事描述不知道自己是魔女小孩的阿雅,在某一天被奇妙的家庭所收养,并且与坏心的魔女共同展开了生活,属于阿雅的奇幻故事就此展开。 ◎大 小: 21.53 GB ◎标 签: #动画电影#宫崎吾朗#アーヤと魔女#安雅与魔女#Earwig and the Witch #Aya to Majo ◎阿里链接: https://www.aliyundrive.com/s/sUKEYnd1FLr 来自分享者:JOJO 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie
@cosplayuploadtest2 · Post #102368 · 23.03.2025 г., 03:16
Title: Aya_Ogawa_小川彩,_Ex_Taishu_2024.12_(EX大衆_2024年12月号) Authors: #None Tags: #None#Aya_Ogawa_小川彩#Ex_Taishu_EX大衆#Nogizaka46_乃木坂46#Aya#Ogawa#小川彩#Ex_Taishu #2024 #12 #EX大衆#2024年12月号 recommendation: None TelegraphLinks:page-0-16
@yumenikkitimely · Post #1806 · 24.06.2025 г., 11:01
ᅠ💤 ; sousakusuya on twitter ╰─ #fanart#sickmind#kudaranumousouno#hallucigenia#witoru#mikanmuzou#debris#yumewo#older#amnesia#yumenikki#flow#yume2kki#yamitsuki#kazaguruma#aya#yongoh#soutarou#tatsuki#nagatsuki#takashi#toritsuki#madotsuki#masada#kaibutsu#yukata#ynfg#yumenikkifangames . . @yumenikkitimely | предложка
@yumenikkitimely · Post #1805 · 24.06.2025 г., 10:01
ᅠ💤 ; sousakusuya on twitter ╰─ #fanart#yume2kki#flow#yumenisshi#yumegraffiti#sickmind#kudaranumousouno#hallucigenia#witoru#mikanmuzou#debris#yumewo#amnesia#older#urotsuki#sabitsuki#usotsuki#yomika#yamitsuki#kazuguruma#aya#yongoh#soutarou#tatsuki#nagatsuki#toritsuki#takashi#ynfg#yumenikkifangames . . @yumenikkitimely | предложка
@hmangafor3duploadtest · Post #21021 · 15.01.2025 г., 15:51
#Astephen#AstralBot3D#Au_naturel_1-11 #Au_Naturel_17#ava_mason_the_pact#AWE-SOME-Ryan #AWE-SOME-RYAN #Aya#Ayla#Bad_Boss_05#Bad_Boss_5#Bad_Boss\xa01-6 #Bad_Day_-_柠檬 #Banap3D#Batman#BB君#Beatlees#befarmore#Being_a_dog_slut#Bella#Below_The_City_1-6 #Berseh#Big_Brother_1-5 #Birthday_Gift#BK_FR#Blackadder#BlackK_studio#BlackK_Studio#Blackmailed\xa0-_Series_Ep1-4 #Blackmaled_-_Amy_EP1 #Blackmaled_-_Faye_EP1-4 #Blackmaled_-_Layla_EP1-2 #Bounties_Alt._1 #Bounties_Ch._1 #Bounties_Ch._2 #Bounty_Huntress_Arie:Cockpit #Breaking_Boundaries#Bridget_and_Mack_-_The_Maid #Bridget_and_Mack_plus_Friend#Bridget_Gets_Abducted#Bucket_List_1-3 #Bucket_List_1-4 #Bucket_List_5#Bucket_List_8#Busted#Busted_2:Business_Expenses #C_plenet#Captain_Anger#Carey_Blake_-_Monster_Apocalypse #Casgra#Cassidy_Rabbit#cccpo#Celine#CG#Changes\xa0\xa0 #Chaosbirdy#Charon#CHARON#chinese#Chinese#Chinese_&_English #Chou_Hentai_Ultra_Boshi#CHS工作室#circle#Circle#Circle_1#Circle_1-9 #Circle_2#Circle_3#Circle_4#Circle_5#Circle_6#Circle_7#Circle_8#Circle_9#Clown_Rape_-_Yuko #CLUB_G.B._-_Today #Collateral#Colorfultrick#Commission_26#Commission_32#Commission_36#ConanTnT#Consequence#Consequences_01-09 #Core_Values_1#Core_Values_2_-_Ripe_for_Taking #Core_Values_3_-_Heaven_is_a_Place_on_Earth #Core_Values_4_-_Witch_in_Heat #Core_Values_5_-_Otherside #Core_Values_6_-_Breaking_the_Girl #Corneo#Corrupted_Demon_Family_Part_1#Corrupted_Demon_Family_Part_2#coser应聘陷阱#Cosplay_-_Reupload_+_Textless_version #Covid_69_1-2 #CruthlessC#Cryer#Cummycucky#Daily_Routine_1#Damn_The_Rain#Danger_Zone_1#Danger_Zone_2#danitian#Dark_City#Darklord#DarkLord#DarkSoul3D#Daughter_of_the_Flame-Goddess_of_Fertility #Daval3D#DDK00#Dead_or_Alive,_King_of_Fighters #decyiqi3#Demo#Demon#Demon_Doll_House:Ellies_Dream #Deranged_Aristocrat#Desperation#Deuteronomy_1-4 #dfifuw98#DIAOそうしたいから、そうするの #dick_yang#Dick_Yang#DigiPlant#DirectorEroko#DizzyDills#DL版#DO_YOU_WANT_2B_WITH_A_HUMAN#DOA_Tournament_Recruitment__Mai_Shiranui#DOAXVV#Dog_Delivery_Girls#Dog_Ganbang#dondon#Dondon#DOOM_GIRL#Double_Trouble#DQN“為了還債出賣關照自己的姐姐” #DreamDot#Driigon#Dsxeris#DT1886#DY_Heroine,rui #Dynasty_Warriors#Eastern_Wife_Western_Life_1#Eclesi4stik#Eclesi4stik_Summer_Heat_3D#eifrost#Elaine’s_Quest #Elastic_Woman#Elayne_Behind_the_Scenes_-_Strip_Poker_+_Birthday_Party #Elf_Slave_2#Elf_Slave_3#Elf_Slave_4#Elf_Slave_5#Elf_Slave_6_-_Main_set #Elf_Slave_7_-_Main_set #Elf_Slave_8_-_Main_set #Elf_Slave_Volunteer#Elf_with_the_Horse#Elf_with_the_Wolfman#Elsa_Poolside#Elven_Monolith_1#Elven_Monolith_2#Elven_Monolith_3#EMUCUS#Enchanted_Mansion_-_Elisabeth #END#English#EOTO#EP.01-04 #Erin_in_Private_Photoshoot_with_Barth_+_BLACKED #Erisa* #Eve_Princess#EverForever#Evie_Basketball#EXGA\xa0\xa073、74期 #Fairy
Hashtags