Example #1
0
def write_db_top_term():
    general.init_db()

    print "*** Writing bill top terms to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)

        sys.stdout.write('    Writing congress ' + s + '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_top_term = xml_bill.subjects.find('term')
                if (xml_top_term is not None) and (bill_obj is not None):
                    top_term = xml_top_term['name']
                    top_term_obj = Term.query.filter_by(name=top_term) \
                        .first()
                    bill_obj.top_term = top_term_obj
        print 'done'
    print ""

    general.close_db(write=True)
Example #2
0
def write_db_top_terms(max_terms=2):
    general.init_db()
    
    print "*** Writing bill top terms to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)
    
        sys.stdout.write('    Writing congress ' +  s +  '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_terms = xml_bill.subjects.find_all('term')

                if (bill_obj is not None) and (xml_terms is not None):
                    num_terms = min(len(xml_terms), max_terms)

                    top_terms = []
                    for i in range(num_terms):
                        term_name = xml_terms[i]['name']
                        term_object = Term.query.filter_by(name=term_name).first()
                        if term_object is not None:
                            top_terms.append(term_object)

                    bill_obj.top_terms = top_terms
        print 'done'    
    print ""

    general.close_db(write=True)
Example #3
0
def write_db_top_term():
    general.init_db()
    
    print "*** Writing bill top terms to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)
    
        sys.stdout.write('    Writing congress ' +  s +  '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_top_term = xml_bill.subjects.find('term')
                if (xml_top_term is not None) and (bill_obj is not None):
                    top_term = xml_top_term['name']
                    top_term_obj = Term.query.filter_by(name=top_term) \
                        .first()
                    bill_obj.top_term = top_term_obj
        print 'done'    
    print ""

    general.close_db(write=True)
Example #4
0
def write_db_sponsors():
    general.init_db()

    print "*** Writing bill sponsors and cosponsors to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)

        sys.stdout.write('    Writing congress ' + s + '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_sponsor = xml_bill.find('sponsor')
                if (xml_sponsor is not None) and (bill_obj is not None):
                    sponsor_id = xml_sponsor.get('id', None)
                    if sponsor_id is not None:
                        sponsor_obj = Person.query.filter_by(
                            id=int(sponsor_id)).first()
                        bill_obj.sponsor = sponsor_obj

                xml_cosponsors = xml_bill.cosponsors.find_all('cosponsor')
                cosponsor_objs = list(
                    set([
                        Person.query.filter_by(id=x['id']).first()
                        for x in xml_cosponsors
                    ]))
                if bill_obj is not None:
                    bill_obj.cosponsors = cosponsor_objs
        print 'done'
    print ""

    general.close_db(write=True)
Example #5
0
def write_db_sponsors():
    general.init_db()
    
    print "*** Writing bill sponsors and cosponsors to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)
    
        sys.stdout.write('    Writing congress ' +  s +  '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_sponsor = xml_bill.find('sponsor')
                if (xml_sponsor is not None) and (bill_obj is not None):
                    sponsor_id = xml_sponsor.get('id', None)
                    if sponsor_id is not None:
                        sponsor_obj = Person.query.filter_by(
                            id=int(sponsor_id)
                        ).first()
                        bill_obj.sponsor = sponsor_obj

                xml_cosponsors = xml_bill.cosponsors.find_all('cosponsor')
                cosponsor_objs = list(set([
                    Person.query.filter_by(id=x['id']).first()
                    for x in xml_cosponsors
                ]))
                if bill_obj is not None:
                    bill_obj.cosponsors = cosponsor_objs
        print 'done'    
    print ""

    general.close_db(write=True)
Example #6
0
def write_db_top_terms(max_terms=2):
    general.init_db()

    print "*** Writing bill top terms to database"
    for session_num in general.CONGRESSES:
        s = str(session_num)

        sys.stdout.write('    Writing congress ' + s + '...')
        sys.stdout.flush()

        for filename in xml_utils.files_of_session(s):
            with open(filename) as f:
                soup = BeautifulSoup(f.read())
                xml_bill = soup.bill

                bill_id = unicode(xml_utils.id_of_xml_bill(xml_bill))
                bill_obj = Bill.query.get(bill_id)

                xml_terms = xml_bill.subjects.find_all('term')

                if (bill_obj is not None) and (xml_terms is not None):
                    num_terms = min(len(xml_terms), max_terms)

                    top_terms = []
                    for i in range(num_terms):
                        term_name = xml_terms[i]['name']
                        term_object = Term.query.filter_by(
                            name=term_name).first()
                        if term_object is not None:
                            top_terms.append(term_object)

                    bill_obj.top_terms = top_terms
        print 'done'
    print ""

    general.close_db(write=True)