Makzan
Makzan

我管理世界職業技能競賽之網站技術項目、舉辦本地設計與開發賽事、開課分享技術心得。一個用網頁來表達自己的作家。

使用Pyto 将LIKE 币价放到iOS 主画面(及使用Siri 语音触发)

上星期我们使用了requests 及JSON API,从Coingecko 取得$LIKE 及$OSMO 的现时币价。我们可以进一步将这段代码放到iPhone 手机上运行。甚至放到主画面显示或利用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 中,建立新的代码档案,输入档案名称,再贴上上述的代码。

在Pyto 中建立档案

然后按右上角的▶️ Play 运行,可以得出预期的效果。

使用Pyto 运行我们的LIKE 币价代码

优化代码

但细想一下,若果我们在主画面的细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,并选择修改,便可以再此选择要运行的代码档案。

在主画面添加Pyto Widget

以下是运行结果,这样便可以随时追踪了。此方法配合上不同的JSON API 资料来源,也可以用来订阅不同的资讯,例如天气等资料

主画面运行结果

利用Siri 执行代码

Pyto 的另一个iOS 整合功能是整合到苹果的Shortcuts app

Shortcuts 是苹果在iOS (及最新的Mac)中的编程自动化应用程式,可以以视觉化介面从上而下整合不同的应用,而每个Shortcut 流程的名称,都可以通过「喂siri」加流程名称来触发。

Shortcuts 制作语音触发代码

例如,我制作了这个「今日咩价位」的Shortcut,运行Pyto 的指定代码,再利用「Get Script Output」取得代码的Print 输出,然后使用「Show notification」显示文字结果,及顺便读出来。

那以后,除了在主画面可以看到后,亦可以利用Siri 语音触发代码执行,及听取语音结果。

同场加映:「喂Siri,返屋企有冇车位」

话说,我另外有个Shortcut 是询问 Siri,返屋企有冇车位。有空可以讲讲如何做。

— 麦诚Makzan,2021-12-01。


我是麦诚轩( Makzan ),除了正职外,平常我要么办本地赛与办世界赛,要么任教编程与网站开发的在职培训。现正转型将面授培训内容写成电子书、网上教材等,至今撰写了7 本书, 2 个视频教学课程。

我逢星期三会不定期推出#编程星期三,介绍Python 或不同的编程技巧,包括自动化办公文件处理、及网络爬虫等。

如果我的文章有价值,请订阅赞助我持续创作分享。

订阅赞助: https://liker.land/thomasmak/civic

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论