Skip to content

Instantly share code, notes, and snippets.

@bycoffe
Created December 14, 2016 16:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bycoffe/b8fdc86dcc0eb26022cf6a38e4286512 to your computer and use it in GitHub Desktop.
Save bycoffe/b8fdc86dcc0eb26022cf6a38e4286512 to your computer and use it in GitHub Desktop.
import csv
import datetime
import itertools
from utils import load_data, save_data
terms = []
for row in csv.DictReader(open("sessions.tsv"), delimiter='\t'):
terms.append(row)
ordinal = lambda n: "%d%s" % (n,"tsnrhtdd"[(n/10%10!=1)*(n%10<4)*n%10::4])
replacements = {}
for k, v in itertools.groupby(terms, lambda x: x['congress']):
sessions = list(v)
special = [x for x in sessions if x['session'] == 'A']
if len(special) == 0:
continue
special = special[0]
first = [x for x in sessions if x['session'] == '1'][0]
special_start = datetime.datetime.strptime(special['start'], '%Y-%m-%d').date()
first_start = datetime.datetime.strptime(first['start'], '%Y-%m-%d').date()
if (special_start < first_start):
replacements[str(first_start)] = str(special_start)
print("{:>4} Congress {} => {}".format(ordinal(int(k)), first_start, special_start))
y = load_data("legislators-historical.yaml")
for m in y:
for t in m['terms']:
if t['start'] in replacements:
t['start'] = replacements[t['start']]
save_data(y, "legislators-historical.yaml")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment