예제 #1
0
def test_find_bill():
    # simplest case
    db.bills.insert({'bill_id': 'HB 1', 'alternate_bill_ids': []})
    assert utils.find_bill({'bill_id': 'HB 1'})['bill_id'] == 'HB 1'

    # asking for HB/SB 2
    db.bills.insert({'bill_id': 'HB 2', 'alternate_bill_ids': ['SB 2']})
    assert utils.find_bill({'bill_id': 'HB 2'})['bill_id'] == 'HB 2'
    assert utils.find_bill({'bill_id': 'SB 2'})['bill_id'] == 'HB 2'

    # asking for HB 4 should get HB 4, not 3
    db.bills.insert({'bill_id': 'HB 3', 'alternate_bill_ids': ['HB 4']})
    db.bills.insert({'bill_id': 'HB 4', 'alternate_bill_ids': []})
    assert utils.find_bill({'bill_id': 'HB 4'})['bill_id'] == 'HB 4'
예제 #2
0
파일: test_utils.py 프로젝트: JT5D/billy
def test_find_bill():
    # simplest case
    db.bills.insert({'bill_id': 'HB 1', 'alternate_bill_ids': []})
    assert utils.find_bill({'bill_id': 'HB 1'})['bill_id'] == 'HB 1'

    # asking for HB/SB 2
    db.bills.insert({'bill_id': 'HB 2', 'alternate_bill_ids': ['SB 2']})
    assert utils.find_bill({'bill_id': 'HB 2'})['bill_id'] == 'HB 2'
    assert utils.find_bill({'bill_id': 'SB 2'})['bill_id'] == 'HB 2'

    # asking for HB 4 should get HB 4, not 3
    db.bills.insert({'bill_id': 'HB 3', 'alternate_bill_ids': ['HB 4']})
    db.bills.insert({'bill_id': 'HB 4', 'alternate_bill_ids': []})
    assert utils.find_bill({'bill_id': 'HB 4'})['bill_id'] == 'HB 4'
예제 #3
0
파일: test_utils.py 프로젝트: dmc2015/billy
def test_find_bill():
    # simplest case
    db.bills.insert({"bill_id": "HB 1", "alternate_bill_ids": []})
    assert utils.find_bill({"bill_id": "HB 1"})["bill_id"] == "HB 1"

    # asking for HB/SB 2
    db.bills.insert({"bill_id": "HB 2", "alternate_bill_ids": ["SB 2"]})
    assert utils.find_bill({"bill_id": "HB 2"})["bill_id"] == "HB 2"
    assert utils.find_bill({"bill_id": "SB 2"})["bill_id"] == "HB 2"

    # asking for HB 4 should get HB 4, not 3
    db.bills.insert({"bill_id": "HB 3", "alternate_bill_ids": ["HB 4"]})
    db.bills.insert({"bill_id": "HB 4", "alternate_bill_ids": []})
    assert utils.find_bill({"bill_id": "HB 4"})["bill_id"] == "HB 4"
예제 #4
0
파일: handlers.py 프로젝트: tjasmith/billy
    def read(self,
             request,
             abbr=None,
             session=None,
             bill_id=None,
             chamber=None,
             billy_bill_id=None):
        if billy_bill_id:
            query = {'_id': billy_bill_id}
        else:
            abbr = abbr.lower()
            query = {
                settings.LEVEL_FIELD: abbr,
                'session': session,
                'bill_id': bill_id
            }
            if chamber:
                query['chamber'] = chamber.lower()

        fields = _build_field_list(request)
        bill = find_bill(query, fields=fields)
        vote_fields = _get_vote_fields(fields)
        # include votes if no fields are specified, if it is specified, or
        # if subfields are specified
        if bill and (not fields or 'votes' in fields or vote_fields):
            bill['votes'] = list(
                db.votes.find({'bill_id': bill['_id']}, fields=vote_fields))
        return bill
예제 #5
0
파일: views.py 프로젝트: msabramo/billy
def bill(request, abbr, session, id):
    meta = metadata(abbr)
    level = meta['level']
    bill = find_bill({'level': level, level: abbr,
                      'session':session, 'bill_id':id.upper()})
    if not bill:
        raise Http404

    return render(request, 'billy/bill.html',
                  {'bill': bill, 'metadata': meta, 'id': bill['_id']})
예제 #6
0
파일: handlers.py 프로젝트: annerajb/billy
 def read(self, request, abbr=None, session=None, bill_id=None,
          chamber=None, billy_bill_id=None):
     if billy_bill_id:
         query = {'_id': billy_bill_id}
     else:
         abbr = abbr.lower()
         level = metadata(abbr)['level']
         query = {level: abbr, 'session': session, 'bill_id': bill_id}
         if chamber:
             query['chamber'] = chamber.lower()
     return find_bill(query, fields=_build_field_list(request))
예제 #7
0
 def read(self,
          request,
          abbr=None,
          session=None,
          bill_id=None,
          chamber=None,
          billy_bill_id=None):
     if billy_bill_id:
         query = {'_id': billy_bill_id}
     else:
         abbr = abbr.lower()
         level = metadata(abbr)['level']
         query = {level: abbr, 'session': session, 'bill_id': bill_id}
         if chamber:
             query['chamber'] = chamber.lower()
     return find_bill(query, fields=_build_field_list(request))
예제 #8
0
파일: views.py 프로젝트: JT5D/billy
def bill(request, abbr, session=None, id=None, billy_id=None):
    meta = metadata(abbr)

    if billy_id:
        bill = db.bills.find_one({'_id': billy_id})
    else:
        bill = find_bill({settings.LEVEL_FIELD: abbr, 'session': session,
                         'bill_id': id.upper()})
    if not bill:
        msg = 'No bill found in {name} session {session!r} with id {id!r}.'
        raise Http404(msg.format(name=meta['name'], session=session, id=id))
    else:
        votes = db.votes.find({'bill_id': bill['_id']})

    return render(request, 'billy/bill.html',
                  {'bill': bill, 'metadata': meta, 'votes': votes,
                   'id': bill['_id']})
예제 #9
0
def bill(request, abbr, session, id):
    meta = metadata(abbr)
    level = meta['level']
    bill = find_bill({
        'level': level,
        level: abbr,
        'session': session,
        'bill_id': id.upper()
    })
    if not bill:
        raise Http404

    return render(request, 'billy/bill.html', {
        'bill': bill,
        'metadata': meta,
        'id': bill['_id']
    })
예제 #10
0
파일: handlers.py 프로젝트: JT5D/billy
 def read(self, request, abbr=None, session=None, bill_id=None,
          chamber=None, billy_bill_id=None):
     if billy_bill_id:
         query = {'_id': billy_bill_id}
     else:
         abbr = abbr.lower()
         query = {settings.LEVEL_FIELD: abbr, 'session': session,
                  'bill_id': bill_id}
         if chamber:
             query['chamber'] = chamber.lower()
     fields = _build_field_list(request)
     bill = find_bill(query, fields=fields)
     vote_fields = _get_vote_fields(fields)
     # include votes if no fields are specified, if it is specified, or
     # if subfields are specified
     if not fields or 'votes' in fields or vote_fields:
         bill['votes'] = list(db.votes.find({'bill_id': bill['_id']},
                                       fields=vote_fields))
     return bill