4个版本
0.6.1 | 2023年4月6日 |
---|---|
0.6.0 | 2023年4月4日 |
0.5.1 | 2023年4月3日 |
0.5.0 | 2023年4月3日 |
#1133 in 解析器实现
28KB
559 行
fetch-sac
从官方ECTL网站获取最新SAC代码列表的库
在MIT许可证下授权。
关于
这是一个小的CLI工具,用于从ECTL Asterix网站获取SAC代码的官方列表。
历史
ECTL是SAC代码的全球列表的官方维护者,代表世界各地的不同区域。
这些在航空领域的监视工作中使用,用于表示使用Asterix规范时发出的特定(且数量庞大)的区域。
这个列表现在还没有任何可用的格式,你只能阅读网页。这在2023年显然是不可接受的,希望能够以JSON或甚至CSV等格式获取列表。
安装
它可以在Crates.io上作为一个crate使用,也可以在GitHub上作为一个仓库使用。可以通过为您的平台编译的二进制文件或克隆仓库并编译来安装。
cargo
UNIX/macOS
$ cargo install fetch-sac
Windows
C:\> cargo.exe install fetch-sac
从源码
$ git clone https://github.com/keltia/fetch-sac
$ cd fetch-sac
$ cargo build
$ cargo test
$ cargo install --release
使用
目前,只有一个名为fetch-sac
的二进制文件(在Windows上为.exe
)。它抓取官方网站,移除所有HTML,并将结果输出为可用的格式。
Fetch the latest SAC codes data from ECTL.
Source: https://www.eurocontrol.int/asterix/
Usage: fetch-sac [OPTIONS]
Options:
-C, --csv CSV
-J, --json JSON
-o, --output <OUTPUT> Output file
-q, --quiet Quiet mode
-v, --verbose... Verbose mode
-V, --version Display utility full version
-h, --help Print help
注意
由于此实用程序直接抓取网页,寻找它感兴趣的内容,因此当页面更新时,它可能会不时地中断(不过频率不高)。表格中所有标签页的格式都不同,这使得它更加复杂。还有关于在某些位置插入的<br>
的问题,这会破坏解析,它试图补偿这一点。
这种方式做事情太“90年代”且已过时。
MSRV
由于 2021 版本,最低支持的 Rust 版本为 1.56。
支持的平台
- Unix(已在 FreeBSD、Linux 和 macOS 上测试过)
- Windows
- cmd.exe
- Powershell
待办事项
获取并解析页面文本输出JSON 输出处理不同输出CSV 输出添加 CLI 测试- 测试和文档
贡献
有关一些简单规则,请参阅 CONTRIBUTING.md。
我为这个包使用 Git Flow,请使用类似的东西或通常的 GitHub 工作流程。
- 在此 处 分支。
- 检出 develop 分支(
git checkout develop
) - 创建您的功能分支(
git checkout -b my-new-feature
) - 提交您的更改(
git commit -am 'Add some feature'
) - 将更改推送到分支(
git push origin my-new-feature
) - 创建一个新的 Pull Request
依赖项
~13–27MB
~421K SLoC