def run(options): # Load the committee metadata from the congress-legislators repository and make a # mapping from thomas_id and house_id to the committee dict. For each committee, # replace the subcommittees list with a dict from thomas_id to the subcommittee. utils.require_congress_legislators_repo() committees = {} for c in utils.yaml_load("congress-legislators/committees-current.yaml"): committees[c["thomas_id"]] = c if "house_committee_id" in c: committees[c["house_committee_id"] + "00"] = c c["subcommittees"] = dict( (s["thomas_id"], s) for s in c.get("subcommittees", [])) for chamber in ("house", "senate"): # Load any existing meetings file so we can recycle GUIDs generated for Senate meetings. existing_meetings = [] output_file = utils.data_dir( ) + "/committee_meetings_%s.json" % chamber if os.path.exists(output_file): existing_meetings = json.load(open(output_file)) # Scrape for meeting info. if chamber == "senate": meetings = fetch_senate_committee_meetings(existing_meetings, committees, options) else: meetings = fetch_house_committee_meetings(existing_meetings, committees, options) # Write out. utils.write( json.dumps(meetings, sort_keys=True, indent=2, default=utils.format_datetime), output_file)
def run(options): # Load the committee metadata from the congress-legislators repository and make a # mapping from thomas_id and house_id to the committee dict. For each committee, # replace the subcommittees list with a dict from thomas_id to the subcommittee. utils.require_congress_legislators_repo() committees = { } for c in utils.yaml_load("congress-legislators/committees-current.yaml"): committees[c["thomas_id"]] = c if "house_committee_id" in c: committees[c["house_committee_id"] + "00"] = c c["subcommittees"] = dict((s["thomas_id"], s) for s in c.get("subcommittees", [])) for chamber in ("house", "senate"): # Load any existing meetings file so we can recycle GUIDs generated for Senate meetings. existing_meetings = [] output_file = utils.data_dir() + "/committee_meetings_%s.json" % chamber if os.path.exists(output_file): existing_meetings = json.load(open(output_file)) # Scrape for meeting info. if chamber == "senate": meetings = fetch_senate_committee_meetings(existing_meetings, committees, options) else: meetings = fetch_house_committee_meetings(existing_meetings, committees, options) # Write out. utils.write(json.dumps(meetings, sort_keys=True, indent=2, default=utils.format_datetime), output_file)
def run(options): # can limit it to one chamber chamber = options.get("chamber", None) if chamber and (chamber in ("house", "senate")): chambers = (chamber) else: chambers = ("house", "senate") load_by = options.get("load_by", None) # Load the committee metadata from the congress-legislators repository and make a # mapping from thomas_id and house_id to the committee dict. For each committee, # replace the subcommittees list with a dict from thomas_id to the subcommittee. utils.require_congress_legislators_repo() committees = {} for c in utils.yaml_load("congress-legislators/committees-current.yaml"): committees[c["thomas_id"]] = c if "house_committee_id" in c: committees[c["house_committee_id"] + "00"] = c c["subcommittees"] = dict( (s["thomas_id"], s) for s in c.get("subcommittees", [])) if "senate" in chambers: print("Fetching Senate meetings...") meetings = fetch_senate_committee_meetings(committees, options) print("Writing Senate meeting data to disk.") utils.write_json(meetings, output_for("senate")) if "house" in chambers: if load_by == None: print("Fetching House meetings...") meetings = fetch_house_committee_meetings(committees, options) else: print("Fetching House meetings by event_id...") meetings = fetch_meeting_from_event_id(committees, options, load_by) print("Writing House meeting data to disk.") utils.write_json(meetings, output_for("house"))
def run(options): # can limit it to one chamber chamber = options.get("chamber", None) if chamber and (chamber in ("house", "senate")): chambers = chamber else: chambers = ("house", "senate") load_by = options.get("load_by", None) # Load the committee metadata from the congress-legislators repository and make a # mapping from thomas_id and house_id to the committee dict. For each committee, # replace the subcommittees list with a dict from thomas_id to the subcommittee. utils.require_congress_legislators_repo() committees = {} for c in utils.yaml_load("congress-legislators/committees-current.yaml"): committees[c["thomas_id"]] = c if "house_committee_id" in c: committees[c["house_committee_id"] + "00"] = c c["subcommittees"] = dict((s["thomas_id"], s) for s in c.get("subcommittees", [])) if "senate" in chambers: print "Fetching Senate meetings..." meetings = fetch_senate_committee_meetings(committees, options) print "Writing Senate meeting data to disk." utils.write_json(meetings, output_for("senate")) if "house" in chambers: if load_by == None: print "Fetching House meetings..." meetings = fetch_house_committee_meetings(committees, options) else: print "Fetching House meetings by event_id..." meetings = fetch_meeting_from_event_id(committees, options, load_by) print "Writing House meeting data to disk." utils.write_json(meetings, output_for("house"))