使用Pyto 将LIKE 币价放到iOS 主画面(及使用Siri 语音触发)
上星期我们使用了requests 及JSON API, 从Coingecko 取得$LIKE 及$OSMO 的现时币价。我们可以进一步将这段代码放到iPhone 手机上运行。甚至放到主画面显示或利用Siri 语音查询。
最终成果,为分别运行于iPhone 主画面Widget 及Siri Shortcuts 的成果:
在iOS 中运行Python 代码,一般我会Pyto这个应用程式。 Pyto 支援将代码放到主画面Widget 或Shortcuts,所以我更推介使用Pyto。 Pyto 分为轻量版及Pro 版,Pro 版是$9.99 美金,一次性付款,以其功能及带来的便利,是抵买的。
以下是我们之前撰写好的代码。
import requests url = "https://api.coingecko.com/api/v3/simple/price?ids=osmosis,likecoin&vs_currencies=usd" res = requests.get(url) data = res.json() like_usd = data["likecoin"]["usd"] osmo_usd = data["osmosis"]["usd"] result = f"现时LIKE 兑美元为{like_usd},OSMO 兑美元为{osmo_usd}。" print(result)
Gist: https://gist.github.com/makzan/0fff74313b6a3b6d5b192afb5984586d
于iOS 的Pyto 中运行
在Pyto 中,建立新的代码档案,输入档案名称,再贴上上述的代码。
然后按右上角的▶️ Play 运行,可以得出预期的效果。
优化代码
但细想一下,若果我们在主画面的细Widget 中运行,这样用文字句字输出不太易读,而且我们也不知道这代码的运行时间为何。
所以,我在原有代码的基础上,利用datetime.today().isoformat() 加上了现时的日期时间(顺便利用只取头16 个字附及将T 字换成空格,使这字串在主画面中稍为易读一点。
now = datetime.today().isoformat()[:16].replace("T", " ")
另外,我也将文字输出改成简短换行输出,当中\n 为换行符号。
result = f"LIKE: {like_usd}\nOSMO: {osmo_usd}\n({now})"
稍为修改后的完整版本。
import requestsfrom datetime import datetime url = "https://api.coingecko.com/api/v3/simple/price?ids=osmosis,likecoin&vs_currencies=usd" res = requests.get(url) data = res.json() like_usd = data["likecoin"]["usd"] osmo_usd = data["osmosis"]["usd"] now = datetime.today().isoformat()[:16].replace("T", " ") result = f"LIKE: {like_usd}\nOSMO: {osmo_usd}\n({now})" print(result)
Gist: https://gist.github.com/makzan/4b4cf8fcc097147ddc22e99acef3c6f7
加到主画面
在主画面的编辑状态下,选择左上角(+),选取Pyto widget。可以按自己需求选择细、中、大的运行代码,我以细尺寸进行示范。
选择后,会首先写着「No selected script」未选择要运行哪个代码。按一下Widget,再选择刚刚我们储存的Python 代码档案。
注:如果想修改,可以在主画面长按此Widget,并选择修改,便可以再此选择要运行的代码档案。
以下是运行结果,这样便可以随时追踪了。此方法配合上不同的JSON API 资料来源,也可以用来订阅不同的资讯,例如天气等资料。
利用Siri 执行代码
Pyto 的另一个iOS 整合功能是整合到苹果的Shortcuts app 。
Shortcuts 是苹果在iOS (及最新的Mac)中的编程自动化应用程式,可以以视觉化介面从上而下整合不同的应用,而每个Shortcut 流程的名称,都可以通过「喂siri」加流程名称来触发。
例如,我制作了这个「今日咩价位」的Shortcut,运行Pyto 的指定代码,再利用「Get Script Output」取得代码的Print 输出,然后使用「Show notification」显示文字结果,及顺便读出来。
那以后,除了在主画面可以看到后,亦可以利用Siri 语音触发代码执行,及听取语音结果。
同场加映:「喂Siri,返屋企有冇车位」
话说,我另外有个Shortcut 是询问 Siri,返屋企有冇车位。有空可以讲讲如何做。
— 麦诚Makzan,2021-12-01。
我是麦诚轩( Makzan ),除了正职外,平常我要么办本地赛与办世界赛,要么任教编程与网站开发的在职培训。现正转型将面授培训内容写成电子书、网上教材等,至今撰写了7 本书, 2 个视频教学课程。
我逢星期三会不定期推出#编程星期三,介绍Python 或不同的编程技巧,包括自动化办公文件处理、及网络爬虫等。
如果我的文章有价值,请订阅赞助我持续创作分享。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐