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

Пребарај: #ifttt

当前筛选 #ifttt清除筛选
Telegram (DE)

@telegramDE · Post #53 · 07.12.2016 г., 23:50

Die Version 3.15 für iOS und Android steht zum Download in den App Stores bereit. Mehr Infos: https://telegram.org/blog/pin-and-ifttt Chats anheften Lieblingschats lassen sich bei Android und iOS oben in der Chatliste anheften. Android: Chat in der Chatliste gedrückt halten > Anheften iOS: Chat in der Chatliste nach links wischen > Anheften Man kann derzeit nur eine bestimmte Anzahl an Chats anheften. Sollte man das Limit erreicht haben (bei iOS gibt es eine Fehlermeldung, Android zeigt einfach nicht mehr den Menüpunkt "Anheften" an), einfach einen angehefteten Chat entfernen. IFTTT Integration "If This Then That" mag einigen eventuell schon ein Begriff sein. Der englischsprachige Dienst IFTTT erlaubt die Verknüpfung von Diensten, so könnte man beispielsweise seine Emails von IFTTT abrufen und an Telegram weiterleiten lassen. Neben Telegram stehen mehr als 300 Dienste zur Verfügung. Hier findet man Telegram bei IFTTT: https://ifttt.com/telegram Ein paar interessante Beispiele: - Sende mir jeden Morgen den Wetterbericht für meine Stadt per Telegram. - Wenn ich bei Twitter erwähnt werde, sende mir eine Nachricht bei Telegram. - Sobald ich im Supermarkt angekommen bin, sende eine vorgefertigte Nachricht ("Bin jetzt im Supermarkt, braucht ihr was?") an meine Gruppe. - Wenn ich eine bestimmte Nachricht an @ifttt sende, schalte mein Philips Hue Lampen-System zu Hause ein oder aus. - Wenn ich bei Instagram ein Video veröffentliche, stelle das Video auch bei Telegram ein. Hinweis: Private und öffentliche Gruppen sowie öffentliche Kanäle und direkte Nachrichten an den IFTTT Bot (@ifttt) werden unterstützt. IFTTT besitzt zwei API Zugänge, Telegram setzt auf den Echtzeit-API von IFTTT, andere Dienste könnten jedoch den anderen Zugang benutzen, daher sind Verzögerungen bis zu einer Stunde möglich. Support können wir leider nicht für IFTTT allgemein anbieten, aber gern stellen wir hier im Kanal ein paar nette Applets vor. Dazu bitte unseren Support-Chat kurz anschreiben, URL eures Telegram-Applets senden, dazu noch eine kurze Beschreibung und bitte #ifttt erwähnen. Die besten Telegram-Verknüpfungen werden wir hier vorstellen. Android-Nutzer - Der ExoPlayer (Videoplayer) wurde akualisiert. - Bilder lassen sich im Editor beliebig drehen (keine 90° Beschränkung mehr). - YouTube und Vimeo Videos unterstützen den Bild-in-Bild-Modus (Vorschaubild im Chat antippen > rechts oben im Video kleines Symbol). Android 4.1+ ist für den Modus notwendig. - Inhalte aus Gruppen und Cloud Chats lassen sich jetzt an Geheime Chats weiterleiten.

Hashtags

ALL About RSS

@AboutRss · Post #561 · 03.05.2020 г., 13:11

#IFTTT 简单 #教程 用 Workflow Automation #工具 IFTTT 连接 RSS 和 Telegram: https://efficient.tcpgnl.com/ifttt.html by twitter.com/tcpgnl 发现于 https://twitter.com/tcpgnl/status/1256626238799507458

#脚本#QuantumultX#Loon#Surge#Shadowrocket#Stash#Crack#效率 ✅#IFTTT-工作流程和智能家居自动化 📱 版本支持: 4.92.0 👤 脚本作者: @ddm1023 📌 脚本功能: 解锁Pro ⬇️ 更新日期: 2025-03-17 ❗️ 使用声明: 仅供学习参考,请在下载后24小时内删除。禁止传播、售卖,感谢理解与支持 💳 特别说明: 非一次性解锁,先开启规则,在进入软件登录即可!如没生效尝试重新打开软件 ⬇️ 下载地址: 点击下载 🔗 脚本链接: 长按复制 🔄 脚本转换: 点击传送 ✈️导航💬群组🤖投稿🎁福利 ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️