#parser #pass #iata #version #document #bcbp #boarding

iata_bcbp

基于决议792的Rust语言IATA BCBP解析器

2个版本 (1个稳定版)

1.0.0 2019年10月28日
0.1.1 2018年8月15日
0.1.0 2018年8月15日

#27 in #pass

MIT许可证

49KB
764

IATA条形码登机牌(BCBP)库

这是一个Rust库,用于解析符合2至6版标准的IATA BCBP类型M对象。这种格式被航空公司用于将登机牌信息编码到电子机票行程单条形码中,除了纸质和移动登机牌。

Build Status Coverage Status

使用方法

将以下内容添加到您的Cargo.toml

[dependencies]
iata_bcbp = "1.0"

此外,还需要在您的crate根目录中添加以下内容

extern crate iata_bcbp;

以下是一个示例,它使用测试数据解析BCBP对象并打印出来

extern crate iata_bcbp;

use std::str::FromStr;

use iata_bcbp::Bcbp;

fn main() {
    const PASS_STR: &str = "M1DESMARAIS/LUC       EABC123 YULFRAAC 0834 326J001A0025 100";
    let pass_data = Bcbp::from_str(PASS_STR).unwrap();

    println!("Passenger: {}", pass_data.passenger_name());
    
    for leg in pass_data.legs().iter() {
        println!();
        println!("      PNR: {}"  , leg.operating_carrier_pnr_code());
        println!("     From: {}"  , leg.from_city_airport_code());
        println!("       To: {}"  , leg.to_city_airport_code());
        println!("   Flight: {}{}", leg.operating_carrier_designator(), leg.flight_number());
        println!("     Seat: {}"  , leg.seat_number());
        println!(" Sequence: {}"  , leg.check_in_sequence_number());
    }
}

许可证

iata_bcbp是在MIT许可证条款下分发的。

请参阅LICENSE获取详细信息。

依赖关系

~1MB
~19K SLoC