命令行请求网站地址带token_如果为自己的服务提供命令行工具

当我们写好了一个服务,或者是api或者是rpc服务,最快的最直接给用户使用的方式,就是给用户提供一个命令行工具,可以直接通过命令行,管理我们创建的服务。

这里我们就基于python的cli库fire,来编写一套针对之前写好的todo的api服务的命令行工具。fire是由google开发的一套快速开发命令行工具的库。接下来,我们就开始准备开发自己的命令行工具。

首先需要安装fire,非常简单。

pip install fire

这里我们因为需要连接api,要存储一些配置信息,需要第三方的库configparser,这个是用来解析配置文件的工具库,同时为了在命令行可以很好的展示用户查询的结果,我们需要table展示查询的结果,所以需要安装tabulate。

pip install configparserpip install tabulate

ok,现在所需要的依赖包都已经安装好了,我们就开始开发自己的程序了。

1081757661d210e8212717f69ba574f9.png

看一下我们的代码目录结构,main.py是命令行工具的主程序,components下面是命令行工具所有支持的子命令的实现。utils里面我们写一些自己common的库。

从我们的main程序看一下。

8fb5679511a0dde416f5fd663168eded.png

非常简单,定义一个class,初始化函数里面,设定所有支持的子命令的类。就可以了,我们可以通过main.py的help看到支持哪些子命令。

e16864b3b5b153a93641921057ff21d8.png

main.py

可以看到,有两个子命令config, todo, 然后每个子命令可以通过-- --help来显示帮助信息。

1. config命令

主要是对我们的命令行工作,做一些配置的操作,可以设置,和显示。

861e9be9ac61d41c45f11ac52b51b990.png

我们可以看到里面存储了api的地址和用户名,密码信息,看一下代码的实现。

1d8c3958a4c0120732030019c3a467b9.png
914efe81779292deb48e8c455d4b161c.png
5fe032867cf4ee4495a2c27d85e6256b.png

set主要是把配置信息,写到了用户家目录下面的一个隐藏目录下面。这样,每次启动的时候,都会去配置文件里面读取配置信息。

2. todo命令

这个就是调用我们api服务的子命令了。主要是支持todo的create,get,list,delete操作。

79eee77b2651269c1d04ddeb03562c6d.png

这个就是todo所有的命令操作的过程,是不是很简单的就可以给我们的用户提供命令行的操作了。内部的实现,也是非常的简单,就是直接调用api显示结果。

eb73706a07d9acc515e032d24b28fb1e.png

todo list

这里我们简单展示一下list的命令的实现,首先获取token,然后把token放到headers里面,请求调用,把结果通过tabulate展示出来。上面的注释,都是会被fire展示在命令行的help里面的。

bc214a3733716ea7b4b086c16b26ae31.png

可以看到执行help的时候,会显示出todo create的帮助信息,包括用途,以及每个参数的描述。开发一个这样的命令行,是不是超级简单。谢谢大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值