コード例 #1
0
ファイル: __init__.py プロジェクト: VersaHQ/billy
def mom_commit(request, abbr):
    actions = []

    leg1 = request.POST['leg1']
    leg2 = request.POST['leg2']

    leg1 = db.legislators.find_one({'_id': leg1})
    actions.append("Loaded Legislator '%s as `leg1''" % leg1['leg_id'])
    leg2 = db.legislators.find_one({'_id': leg2})
    actions.append("Loaded Legislator '%s as `leg2''" % leg2['leg_id'])

    # XXX: Re-direct on None

    merged, remove = merge_legislators(leg1, leg2)
    actions.append("Merged Legislators as '%s'" % merged['leg_id'])

    db.legislators.remove({'_id': remove}, safe=True)
    actions.append("Deleted Legislator (which had the ID of %s)" % remove)

    db.legislators.save(merged, safe=True)
    actions.append("Saved Legislator %s with merged data" % merged['leg_id'])

    for attr in merged:
        merged[attr] = _mom_mangle(merged[attr])

    return render(request, 'billy/mom_commit.html', {
        "merged": merged,
        "actions": actions,
        "abbr": abbr
    })
コード例 #2
0
ファイル: __init__.py プロジェクト: tlevine/billy
def mom_commit(request, abbr):
    actions = []

    leg1 = request.POST['leg1']
    leg2 = request.POST['leg2']

    leg1 = db.legislators.find_one({'_id': leg1})
    actions.append("Loaded Legislator '%s as `leg1''" % leg1['leg_id'])
    leg2 = db.legislators.find_one({'_id': leg2})
    actions.append("Loaded Legislator '%s as `leg2''" % leg2['leg_id'])

    # XXX: Re-direct on None

    merged, remove = merge_legislators(leg1, leg2)
    actions.append("Merged Legislators as '%s'" % merged['leg_id'])

    db.legislators.remove({'_id': remove}, safe=True)
    actions.append("Deleted Legislator (which had the ID of %s)" % remove)

    db.legislators.save(merged, safe=True)
    actions.append("Saved Legislator %s with merged data" % merged['leg_id'])

    for attr in merged:
        merged[attr] = _mom_mangle(merged[attr])

    return render(request, 'billy/mom_commit.html', {
        "merged": merged,
        "actions": actions,
        "abbr": abbr
    })
コード例 #3
0
ファイル: __init__.py プロジェクト: dmc2015/billy
def mom_merge(request, abbr):
    leg1 = "leg1"
    leg2 = "leg2"

    leg1 = request.GET[leg1]
    leg2 = request.GET[leg2]

    leg1_db = db.legislators.find_one({"_id": leg1})
    leg2_db = db.legislators.find_one({"_id": leg2})

    # XXX: break this out into its own error page
    if leg1_db is None or leg2_db is None:
        nonNull = leg1_db if leg1_db is None else leg2_db
        if nonNull is not None:
            nonID = leg1 if nonNull["_id"] == leg1 else leg2
        else:
            nonID = None

        return render(
            request,
            "billy/mom_error.html",
            {
                "leg1": leg1,
                "leg2": leg2,
                "leg1_db": leg1_db,
                "leg2_db": leg2_db,
                "same": nonNull,
                "sameid": nonID,
                "abbr": abbr,
            },
        )

    leg1, leg2 = leg1_db, leg2_db
    merge, toRemove = merge_legislators(leg1, leg2)
    mv, mv_info = _mom_attr_diff(merge, leg1, leg2)

    for foo in [leg1, leg2, merge]:
        for attr in foo:
            foo[attr] = _mom_mangle(foo[attr])

    return render(
        request,
        "billy/mom_merge.html",
        {
            "leg1": leg1,
            "leg2": leg2,
            "merge": merge,
            "merge_view": mv,
            "remove": toRemove,
            "merge_view_info": mv_info,
            "abbr": abbr,
        },
    )
コード例 #4
0
ファイル: __init__.py プロジェクト: VersaHQ/billy
def mom_merge(request, abbr):
    leg1 = "leg1"
    leg2 = "leg2"

    leg1 = request.GET[leg1]
    leg2 = request.GET[leg2]

    leg1_db = db.legislators.find_one({'_id': leg1})
    leg2_db = db.legislators.find_one({'_id': leg2})

    # XXX: break this out into its own error page
    if leg1_db is None or leg2_db is None:
        nonNull = leg1_db if leg1_db is None else leg2_db
        if nonNull is not None:
            nonID = leg1 if nonNull['_id'] == leg1 else leg2
        else:
            nonID = None

        return render(
            request, 'billy/mom_error.html', {
                "leg1": leg1,
                "leg2": leg2,
                "leg1_db": leg1_db,
                "leg2_db": leg2_db,
                "same": nonNull,
                "sameid": nonID,
                "abbr": abbr
            })

    leg1, leg2 = leg1_db, leg2_db
    merge, toRemove = merge_legislators(leg1, leg2)
    mv, mv_info = _mom_attr_diff(merge, leg1, leg2)

    for foo in [leg1, leg2, merge]:
        for attr in foo:
            foo[attr] = _mom_mangle(foo[attr])

    return render(
        request, 'billy/mom_merge.html', {
            'leg1': leg1,
            'leg2': leg2,
            'merge': merge,
            'merge_view': mv,
            'remove': toRemove,
            'merge_view_info': mv_info,
            "abbr": abbr
        })
コード例 #5
0
ファイル: views.py プロジェクト: msabramo/billy
def mom_merge(request):
    leg1 = "leg1"
    leg2 = "leg2"

    leg1 = request.GET[leg1]
    leg2 = request.GET[leg2]

    leg1_db  = db.legislators.find_one({'_id' : leg1})
    leg2_db  = db.legislators.find_one({'_id' : leg2})

    if leg1_db == None or leg2_db == None: # XXX: Break this out into it's own
        #                                         error page.
        nonNull = leg1_db if leg1_db != None else leg2_db
        if nonNull != None:
            nonID   = leg1    if nonNull['_id'] == leg1 else leg2
        else:
            nonID   = None

        return render(request, 'billy/mom_error.html', {
            "leg1"    : leg1,
            "leg2"    : leg2,
            "leg1_db" : leg1_db,
            "leg2_db" : leg2_db,
            "same"    : nonNull,
            "sameid"  : nonID
        })

    leg1, leg2 = leg1_db, leg2_db
    merge, toRemove = merge_legislators( leg1, leg2 )
    mv, mv_info = _mom_attr_diff( merge, leg1, leg2 )

    for foo in [ leg1, leg2, merge ]:
        for attr in foo:
            foo[attr] = _mom_mangle( foo[attr] )

    return render(request, 'billy/mom_merge.html', {
       'leg1'   : leg1,
       'leg2'   : leg2,
       'merge'  : merge,
       'merge_view'      : mv,
       'remove'          : toRemove,
       'merge_view_info' : mv_info })
コード例 #6
0
ファイル: test_merge.py プロジェクト: h4ck3rm1k3/billy
def _test_logic(name):
    leg1, leg2, compare = _load_test_data(name)
    produced, to_del = merge_legislators(leg1, leg2)
    assert _check_results(produced, compare)
コード例 #7
0
ファイル: test_merge.py プロジェクト: ybv/billy
def _test_logic(name):
    leg1, leg2, compare = _load_test_data(name)
    produced, to_del = merge_legislators(leg1, leg2)
    assert _check_results(produced, compare)