6 个版本
0.5.2 | 2024年5月20日 |
---|---|
0.5.1 | 2024年5月18日 |
0.4.0 | 2024年5月12日 |
0.3.3 | 2024年5月8日 |
#2079 in 网页编程
32 每月下载量
51KB
910 行
ralertsinua-http
Rust 异步 API 包装器 (reqwest) 和 TUI (ratatui) 用于 alerts.in.ua
简介
Alerts.in.ua API 客户端是一个 Rust 库,简化了对 alerts.in.ua API 服务的访问。它提供有关空袭警报和其他潜在威胁的实时信息。
安装
要在终端中安装 Alerts.in.ua API 客户端,请运行以下命令
cargo add ralertsinua-http
用法
⚠️ 在您可以使用此库之前,您需要通过提交 API 请求表单 获取 API 令牌。
以下是一个基本示例,说明如何使用库获取活动警报列表
异步
use ralertsinua_http::{AlertsInUaClient, API_BASE_URL}
#[tokio::main]
async fn main() -> Result<()> {
# Initialize the client with your token
alerts_client = AlertsInUaClient(API_BASE_URL, "your_token");
# Get the active alerts
active_alerts = await alerts_client.get_active_alerts();
print!("active_alerts: {}", active_alerts.into());
}
警报
Alerts 类是一个警报集合,并提供各种方法来过滤和访问这些警报。
当用户调用 client.get_active_alerts()
时,它返回 Alerts
类。
方法
filter(*args: str) -> Vec
此方法根据给定的参数过滤警报。
filtered_alerts = active_alerts.filter('location_oblast', 'Донецька область','alert_type','air_raid')
在此示例中,filtered_alerts 将包含所有具有 'Донецька область' 作为位置区域的空袭警报。
get_alerts_by_location_title(location_title: str) -> Vec
此方法返回指定位置的警报。
kyiv_alerts = active_alerts.get_alerts_by_location_title('м. Київ')
get_air_raid_alerts() -> Vec
此方法返回所有类型为 'air_raid' 的警报。
air_raid_alerts = active_alerts.get_air_raid_alerts()
get_oblast_alerts() -> Vec
此方法返回所有类型为 'oblast' 的警报。
oblast_alerts = active_alerts.get_oblast_alerts()
get_raion_alerts() -> Vec
此方法返回所有类型为 'raion' 的警报。
raion_alerts = active_alerts.get_raion_alerts()
get_hromada_alerts() -> Vec
此方法返回所有类型为 'hromada' 的警报。
hromada_alerts = active_alerts.get_hromada_alerts()
get_city_alerts() -> Vec
此方法返回所有类型为 'city' 的警报。
city_alerts = active_alerts.get_city_alerts()
get_alerts_by_alert_type(alert_type: str) -> Vec
此方法返回所有类型为给定警报类型的警报。
artillery_shelling_alerts = active_alerts.get_alerts_by_alert_type('artillery_shelling')
get_alerts_by_location_type(location_type: str) -> Vec
此方法返回所有类型为给定位置类型的警报。
urban_location_alerts = active_alerts.get_alerts_by_location_type('raion')
get_alerts_by_oblast(oblast_title: str) -> Vec
此方法返回所有标题为给定区域的警报。
donetsk_oblast_alerts = active_alerts.get_alerts_by_oblast('Донецька область')
get_alerts_by_location_uid(location_uid: str) -> Vec
此方法返回所有具有给定位置uid的警报。
location_uid_alerts = active_alerts.get_alerts_by_location_uid('123456')
get_artillery_shelling_alerts() -> Vec
此方法返回所有类型为 'artillery_shelling' 的警报。
artillery_shelling_alerts = active_alerts.get_artillery_shelling_alerts()
get_urban_fights_alerts() -> Vec
此方法返回所有类型为 'urban_fights' 的警报。
urban_fights_alerts = active_alerts.get_urban_fights_alerts()
get_nuclear_alerts() -> Vec
此方法返回所有类型为 'nuclear' 的警报。
nuclear_alerts = active_alerts.get_nuclear_alerts()
get_chemical_alerts() -> Vec
此方法返回所有类型为 'chemical' 的警报。
chemical_alerts = active_alerts.get_chemical_alerts()
get_all_alerts() -> Vec
此方法返回所有警报。
all_alerts = active_alerts.get_all_alerts()
或者您可以使用快捷方式
for alert in active_alerts:
print!(alert)
get_last_updated_at() -> datetime.datetime
此方法返回表示警报信息上次更新时间的datetime对象(基辅时区)。
last_updated_at = alerts.get_last_updated_at()
get_disclaimer() -> str
此方法返回与警报信息相关的免责声明。
disclaimer = alerts.get_disclaimer()
许可证
MIT 2024
*[TUI]: 终端用户界面
依赖项
~7–18MB
~262K SLoC