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

Резултати

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

Пребарај: #altlayer

当前筛选 #altlayer清除筛选
区块链交流

@talktoblockchain · Post #59 · 24.01.2024 г., 22:32

加密早餐 * 每日不能错过的重要信息 * 2024年1月24日 【每日重要信息】 每当行情下跌的时候各种fud、流动性事故都会一起发生,昨天最大的时间就是okb的暴跌了,30亿美金的市值,1分钟走出了腰斩行情,足够可以看出盘面深度非常差了,不过好在OKX动作很快,第一时间发出了调查的公告,随后也给出了全额赔付的公告,解释了此次事件的原因,就是因为价格下跌导致触发了多个大额杠杆仓位的清算,然后连带着触发了质押借贷,杠杆交易以及跨币种交易的清算,最终直接导致的结果是将okb在1分钟时间砸到了25刀左右。 盘面深度的确是个问题,不过okx公告已经给出了解决方案,对异常清算带来的损失全额赔付,包括质押借贷、杠杆交易以及跨币种交易,具体方案要在72小时内公告,受损用户可以关注官方推特公告。 灰度昨晚向 Coinbase Prime 地址转入 15,221 枚 BTC,约合 5.88 亿美元。目前灰度一直是卖,但是除了灰度之外其他ETF都是买进状态,包括贝莱德,包括ark等等。昨天木头姐旗下 ARK Invest 于 1 月 23 日购入 360,830 股 ARK 21 Shares 比特币 ETF(按昨日收盘价约合 1450 万美元),同时卖出 585,915 股 ProShares 比特币策略 ETF(按昨日收盘价约合 1136 万美元)。 当前的比特币大盘,是华尔街在换手,等到充分换手之后,华尔街就会正式开启暴力的牛市行情。顺便说一下,关于2024年的宏观走势预测我会在今天发出来,到时候大家可以做个参考,我们每年都会进行一整年的宏观走势预测,从过往数据来看,还是有一定的参考价值。 昨天大家都期待的项目 #AltLayer 发布 Season 1 空投细则。据悉,AltLayer 为本次 Season 1 空投活动预留了总计 300,000,000 枚 ALT 代币(占总供应量的 3%),将分发给其 NFT 持有者(OG Badge 和 Oh Ottie! 系列)、「Altitude」活动参与者、EigenLayer 再质押参与者、EigenLayer 生态系统合作伙伴和 Celestia 质押者及其他。具体份额为: NFT 持有者:35.47% 「Altitude」活动参与者:37.07% EigenLayer 再质押参与者:13.05% EigenLayer 生态系统合作伙伴:4.49% Celestia 质押者及其他:9.92% 从公布规则来看,官方筛选掉了超过90w地址,但是NFT持有者成了最大赢家。 $alt 明天18点上线,总量是10B,币安上线流通11%,也就是11亿枚,按照 IEO 项目 $manta 的估值来算,价格应该在0.4-0.5左右,如果按照这个开盘,二级市场短期的想象力直接打满,接盘的需要思考,如果价格在0.2以下,我觉得可以考虑。https://www.binance.com/en/research/projects/altlayer 比特币生态聚合交易平台 @BefiLabs 正在 apeterminal 平台注册IDO,这是以抽签形式进行的,上一个 $savm 也是在这个平台IDO了,大家可以参与下,万一中奖了,那就是上百倍的收益,不过不好中就是了,目前已经有小7万人参加了。如果IDO没办法参加的话,可以关注二级市场,不过现在时间还早,距离IDO结束还有11天左右时间,大家有足够的时间研究和准备。 #Apeterminal 平台:https://launch.apeterminal.io/project/befi $bake 公布了第二期免费 Launchpad 项目为多链铭文资产聚合交易协议 20EXchange (BRC20 代币 20EX),启动时间为北京时间 1 月 26 日 16:00,参与代币为 BAKE、1CAT,发行价格为免费。 啰嗦几句,不管你们信不信,我只能说上半年的行情调整将是最后一次布局的好时机,不要因为砸盘而恐慌,反而大家要越跌越买,接下来的这两年时间,各种利好叠加,到时候的爆发式行情你无法想象。 【行情分析】 灰度一直砸盘比特币,但是其他ETF都在增持,大家都知道这一次调整是最佳上车时机,如果你错过了,那就再也看不到这么便宜的筹码了,所以无需恐慌,接下来等灰度砸盘,然后减半行情就会炒作一波。 我这里重点提一下比特币生态,因为接下来的行情比特币是主角,伴随着主角的行情启动,对应生态的项目一定会起飞,放眼望去,比特币生态的项目估值非常低,这就好比上一波牛市的以太坊生态DeFi,所以大家一定要珍惜。 比特币 4小时级别,昨晚最低到了38500附近,目前在这个位置有一定支撑,但是并没有很强了,不过随着时间的推移,砸盘会越来越弱,接盘会越来越强,我觉得38000到36800附近是极限了,也就是说最低能到这个位置左右,除非有不可控的利空出现,比如监管政策等等。 总之,大家不要触碰合约,持有现货,就不会倒在牛市之前。 【风险提醒】 数字资产波动较大,风险极高,请谨慎参与,杜绝满仓梭哈,拒绝贷款杠杆;

Airdropp.io

@airdropp_io · Post #468 · 01.02.2024 г., 12:02

🔥 Babylon Chain Airdrop They received $18M investment. Partners with Altlayer. BTC staking platform. Zealy shared, let's join. 👉https://zealy.io/c/babylonchain/invite/y4iEQg20XJpzFcyU24YdP #babylon#airdrop#altlayer#zealy