aboutsummaryrefslogtreecommitdiff
path: root/src/output/mod.rs
blob: 84ed0a4b179329e1dba1b80059a34a9c2528a254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use super::{FightOutcome, LogResult, Opt};

use std::io;

pub mod formats;
pub mod aggregators;
pub mod pipeline;

pub use self::pipeline::Pipeline;


/// Build an pipeline for the given command line options.
pub fn build_pipeline(opt: &Opt) -> Pipeline {
    let stream = io::stdout();
    let aggregator = aggregators::WriteThrough;

    if opt.file_name_only {
        Pipeline::new(stream, formats::FileOnly, aggregator)
    } else {
        let format = formats::HumanReadable {
            show_guilds: opt.guilds,
        };
        Pipeline::new(stream, format, aggregator)
    }
}