opencivicdata / python-opencivicdata

python utilities for Open Civic Data
BSD 3-Clause "New" or "Revised" License
34 stars 27 forks source link

Different types of Posts in a legislature. #129

Open fgregg opened 5 years ago

fgregg commented 5 years ago

I'm running into a bit of a modeling problem, which might call for an extension of the Post object.

It's fairly common for there to be two kinds of posts in a legislature.

The first type is the type of post that confers membership to the legislature. In the US context, this would be an "seat"

The second type is an office in the leadership of the legislature, such as Speaker of the House or President pro Tempore. This type of office does not confer membership in the organization. Instead membership in the legislature is a prerequisite to being eligible for these second types of posts.

It seems like we might want to

  1. distinguish between these types of posts
  2. associate the second type of posts to the primary membership of the person to the organization.

Thoughts @jpmckinney @jamesturk ?

jpmckinney commented 5 years ago

I think we never solved this in https://github.com/popolo-project/popolo-spec/issues/125, but we had some proposals there.

fgregg commented 5 years ago

hilarious. thank you for your memory, James.

jpmckinney commented 4 years ago

Following discussion in that issue, I think we can work up a PR here for a Term class (alternative terminology is welcome) that relates a person to a post (and optionally to a membership, to inform how the person is eligible for the post) and that has a start date and end date.