Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Requesting --results-level fipscode results in duplicate id keys #332

@mileswwatkins

Description

@mileswwatkins

You can see the issue in even the first few rows of data from 2016 (see 1683-polid-1702-None
and 1683-polid-64583-None):

$ elex results 2016-11-08 --results-level fipscode --officeids S | head -n 20 | csvcut -c 1
id
2933-polid-1799-state-AK-1
2933-polid-61157-state-AK-1
2933-polid-65800-state-AK-1
2933-polid-4409-state-AK-1
2933-polid-65798-state-AK-1
2933-polid-51351-state-AK-1
2933-polid-1799-None
2933-polid-61157-None
2933-polid-65800-None
2933-polid-4409-None
2933-polid-65798-None
2933-polid-51351-None
1683-polid-1702-state-AL-1
1683-polid-64583-state-AL-1
1683-polid-1702-None
1683-polid-64583-None
1683-polid-1702-None
1683-polid-64583-None
1683-polid-1702-None

This is because the id contains level and reportingunitid, but if you request fipscode-level data there is no reportingunitid value.

This could be solved in two ways:

  • Forbid users from using --results-level fipscode in the API and the CLI, with a helpful error message suggesting they use the ru level, since it rolls up to the county level
  • Allow ids to be composed using self.reportingunitid or self.fipscode in the models

Not a blocker for our project, but being able to request less data (for those not using New England townships) would help make pipelines faster, and either way having a valid option that results in duplicate/invalid ids can introduce annoying bugs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions