pyzentao spec generator.
Project description
miaou 是 pyzentao 规格文件的生成工具。
宋朝的严羽在《沧浪诗话·诗辨》中说:”大抵禅道惟在妙悟,诗道亦在妙悟”,于是取名 “妙悟 (miaou)”。
用法
安装
$ pip install -U miaou
使用
使用 miaou 方法生成规格文件
import miaou
miaou.generate(
site_url="http://my.zentao.site",
username="admin",
password="123456",
scanner="selenium",
combined_print=True,
output_path="."
)
参数说明
- site_url
你家禅道的域名,比如 “http://zentao.flyingcat.com”
- username
登录用户名,用于禅道授权
- password
登录密码,用于禅道授权
- scanner
扫描器类型,目前自带扫描器支持 “selenium”,也可以自定义扫描器,详见下文
- combined_print
合并打印规格,默认是 True ,会将规格打印到一个 yaml 文件,否则按 module 打印到不同文件
- output_path
输出的目录,默认是当前目录
- config
传给 scanner 的配置参数,应为 dict 类型
扫描器
扫描禅道页面以获得规格,目前支持 selenium ,也可以自定义扫描器。
selenium
使用 selenium 4.8.0 版本以上,默认使用 chromedriver,可根据你的 Chrome 版本,在 chromedriver 下载,并 添加到 path 中。如果要使用 firefox 可在参数中指定,例如
import miaou
miaou.generate(
...
scanner="selenium",
config={"driver": "firefox"},
)
自定义扫描器
也可以自定义扫描器,从 miaou.Scanner 继承
import miaou
class MyScanner(miaou.Scanner):
"""doc string"""
def __init__(self, config):
...
然后需要实现如下方法:
- open(self, site_url, username, password)
一般是获得禅道授权
- close(self)
清扫工作,没有就不写
- get_module_groups(self, dev_url)
获得 API 模块页面链接,也就是 后台 - 二次开发 - API 页面左边栏 模块列表 下的那些链接。返回模块链接数组 [url…]
- get_apis(self, api_url)
在指定的模块页面,即 api_url 中获取 API 规格,返回包含dict的数组类似 [{name, method, path, params}]
使用自定义扫描器
import miaou
miaou.generate(
...
scanner=MyScanner(config),
...
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file miaou-0.1.0.tar.gz
.
File metadata
- Download URL: miaou-0.1.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ada26bb9973f20276616c01f7ba32b2e25b5d8c1b8b228f1cafda5dc8238350c |
|
MD5 | 63d164db1df88659fa53426412d5b325 |
|
BLAKE2b-256 | 39dbcd3add277f2377e504cfd13a7ece3027e6070da009fd6e16cb33d6c2a564 |