Filter unemployment rate series.

[?]
Apr 13, 2021, 7:17 AM
IKPVWWLKQZW7O23ZUSFFRE7IUUDFZR6UOCN6MVPNPMSTDSN7X4VAC

Dependencies

Change contents

  • replacement in src/main.rs at line 5
    [3.59][3.15:37]()
    inflation_series,
    [3.59]
    [3.59]
    data,
    cpi_series,
  • edit in src/main.rs at line 8
    [3.84][3.38:66]()
    data,
    cpi_included,
  • replacement in src/main.rs at line 53
    [3.1209][2.0:55]()
    println!("{}", cpi_included(Country::NewZealand));
    [3.1209]
    [3.1260]
    // println!("{}", cpi_series(Country::NewZealand));
    println!("{}", unemployment_series(Country::UnitedStates));
  • replacement in src/lib.rs at line 11
    [3.531][3.531:606]()
    /// Return a printed list of unemployment series for a particular country.
    [3.531]
    [3.606]
    /// Print data for a given `Series`.
  • edit in src/lib.rs at line 13
    [3.614][3.614:840](),[3.840][2.56:83](),[2.83][3.868:1175](),[3.868][3.868:1175](),[3.1175][3.1267:1688](),[3.1688][2.84:123](),[3.1719][3.1175:1290](),[2.123][3.1175:1290](),[3.1175][3.1175:1290]()
    /// unemployment_series(Country::Slovenia);
    /// ```
    pub fn unemployment_series(country: Country) {
    let tags = Fred::tags_series(&format!(
    "unemployment;{}",
    country,
    ));
    let seriess = tags.seriess;
    seriess.inner().iter()
    .filter(|s| s.frequency == "Monthly" || s.frequency == "Quarterly")
    .filter(|s| s.seasonal_adjustment == "Seasonally Adjusted")
    .filter(|s| !s.title.contains("Male"))
    .filter(|s| !s.title.contains("Female"))
    .filter(|s| s.title.contains("Rate"))
    .enumerate()
    .for_each(|(i, s)| println!("{}\n{}", i, s));
    }
    pub fn unemployment_tags(country: Country) {
    let tags = Fred::tags_series(&format!(
    "unemployment;{}",
    country,
    ));
    println!("{}", tags);
    }
    pub fn inflation_series(country: Country) {
    let tags = Fred::tags_series(&format!(
    "inflation;{}",
    country.to_string().to_lowercase(),
    ));
    let seriess = tags.seriess;
    seriess.inner().iter().enumerate()
    .for_each(|(i, s)| println!("{}\n{}", i, s));
    }
    /// Print unemployment_data for a given `Series`.
    /// ```
  • replacement in src/lib.rs at line 28
    [3.1795][3.1795:1845]()
    pub fn cpi_included(country: Country) -> String {
    [3.1795]
    [2.124]
    /// Return relevant CPI series for a country.
    /// ```
    /// println!("{}", cpi_series(Country::NewZealand));
    /// ```
    pub fn cpi_series(country: Country) -> String {
  • edit in src/lib.rs at line 306
    [3.12073]
    [2.15267]
    // TODO
  • edit in src/lib.rs at line 353
    [3.14160]
    [2.17887]
    // TODO
  • edit in src/lib.rs at line 377
    [3.15635]
    [2.19210]
    // TODO
  • replacement in src/lib.rs at line 382
    [2.19240][2.19240:19323]()
    Fred::tags_series(&to_cpi_tag(country)).seriess
    .filter_titles(titles)
    [2.19240]
    [2.19323]
    Fred::tags_series(&to_tag("cpi", country)).seriess
    .equals_one_of(titles)
  • replacement in src/lib.rs at line 387
    [3.1624][3.15778:15822]()
    fn to_cpi_tag(country: Country) -> String {
    [3.1624]
    [3.15822]
    /// Return relevant unemployment rate series for a country.
    /// ```
    /// println!("{}", unemployment_series(Country::Canada));
    /// ```
    pub fn unemployment_series(country: Country) -> String {
    let (exclude_phrase, include_phrase) = match country {
    Country::Australia => {
    (
    vec!(
    "Male",
    "Female",
    "55-64",
    "25-54",
    "15-24",
    "20 to 24",
    "Youth",
    "Women",
    "Teenagers",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Austria => {
    (
    vec!(
    "Male",
    "Female",
    "55-64",
    "25-54",
    "15-24",
    "15-64", // series includes 15-74
    "20 to 24",
    "Youth",
    "Women",
    "Teenagers",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Belgium => {
    (
    vec!(
    "Male",
    "Female",
    "55-64",
    "25-54",
    "15-24",
    "15-64", // series includes 15-74
    "20 to 24",
    "Youth",
    "Women",
    "Teenagers",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Canada => {
    (
    vec!(
    "Male",
    "Female",
    "15-64",
    "55-64",
    "25-54",
    "15-24",
    "20 to 24",
    "Youth",
    "Women",
    "Teenagers",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Chile => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::CzechRepublic => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Denmark => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate"
    ),
    )
    }
    Country::Estonia => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Finland => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::France => {
    (
    vec!(
    "Male",
    "Men",
    "Female",
    "Women",
    "Youth",
    "Teenagers",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Germany => {
    (
    vec!(
    "Male",
    "Men",
    "Female",
    "Youth",
    "Women",
    "Teenagers",
    "20 to 24",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Greece => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Ireland => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Israel => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Italy => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "Men",
    "Women",
    "Teenagers",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Japan => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "Men",
    "Women",
    "Teenagers",
    "20 to 24",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Latvia => {
    (
    vec!(
    "Youth",
    "Male",
    "Female",
    "25 and over",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "nemployment",
    ),
    )
    }
    Country::Netherlands => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "Women",
    "Teenagers",
    "Men",
    "20 to 24",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::NewZealand => {
    (
    vec!(
    "Male",
    "Female",
    "55-64",
    "25-54",
    "15-24",
    "Youth",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Norway => {
    (
    vec!(
    "Male",
    "Female",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Poland => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Serbia => {
    (
    vec!(
    ),
    vec!(
    "",
    ),
    )
    }
    Country::Spain => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Sweden => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "Men",
    "Women",
    "Teenagers",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    "20 to 24",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::Switzerland => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::UnitedKingdom => {
    (
    vec!(
    "Male",
    "Female",
    "Youth",
    "Men",
    "Women",
    "Teenagers",
    "20 to 24",
    "15-24",
    "15-64",
    "25-54",
    "55-64",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    Country::UnitedStates => {
    (
    vec!(
    "Male",
    "Female",
    ),
    vec!(
    "Rate",
    ),
    )
    }
    _ => panic!(),
    };
    Fred::tags_series(&to_tag("unemployment", country)).seriess
    .exclude_phrases(exclude_phrase)
    .only_include(include_phrase)
    .to_string()
    }
    fn to_tag(tag: &str, country: Country) -> String {
  • replacement in src/lib.rs at line 859
    [3.15835][3.15835:15853]()
    "cpi;{}",
    [3.15835]
    [3.15853]
    "{};{}",
    tag,
  • edit in src/lib.rs at line 864
    [3.15904]
    [3.15904]
    fn countries() -> Vec<Country> {
    vec!(
    Country::Australia,
    Country::Austria,
    Country::Belgium,
    Country::Canada,
    Country::Chile,
    Country::CzechRepublic,
    Country::Denmark,
    Country::Estonia,
    Country::Finland,
    Country::France,
    Country::Germany,
    Country::Greece,
    Country::Ireland,
    Country::Israel,
    Country::Italy,
    Country::Japan,
    Country::Latvia,
    Country::Netherlands,
    Country::NewZealand,
    Country::Norway,
    Country::Poland,
    Country::Serbia,
    Country::SouthKorea,
    Country::Spain,
    Country::Sweden,
    Country::Switzerland,
    Country::Taiwan,
    Country::UnitedKingdom,
    Country::UnitedStates,
    )
    }