#asterix #aerospace #sac #aeronautical-data

app fetch-sac

从ASTERIX网站获取SAC代码的官方列表

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 解析器实现

MIT许可证

28KB
559

fetch-sac

从官方ECTL网站获取最新SAC代码列表的库

Build status Buildstatus (develop) Docs GitHub release GitHub issues fetch-sac: 1.56+ SemVer License

MIT许可证下授权。

  1. 关于
  2. 历史
  3. 安装
  4. 使用
  5. MSRV
  6. 支持的平台
  7. 待办事项
  8. 贡献

关于

这是一个小的CLI工具,用于从ECTL Asterix网站获取SAC代码的官方列表。

历史

ECTLSAC代码的全球列表的官方维护者,代表世界各地的不同区域。
这些在航空领域的监视工作中使用,用于表示使用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 工作流程。

  1. 在此 分支。
  2. 检出 develop 分支(git checkout develop
  3. 创建您的功能分支(git checkout -b my-new-feature
  4. 提交您的更改(git commit -am 'Add some feature'
  5. 将更改推送到分支(git push origin my-new-feature
  6. 创建一个新的 Pull Request

依赖项

~13–27MB
~421K SLoC