예제 #1
0
파일: views.py 프로젝트: kyledj/evepraisal
def estimate_cost():
    """ Estimate Cost of pasted stuff result given by POST[raw_paste].
        Renders HTML """
    raw_paste = request.form.get('raw_paste', '')
    solar_system = request.form.get('market', '30000142')

    mods = Modifiers.by_typeid(
        Modifiers.query.all()
    )

    if solar_system not in app.config['VALID_SOLAR_SYSTEMS'].keys():
        abort(400)

    eve_types, bad_lines = parse_paste_items(raw_paste)

    # Populate types with pricing data
    populate_market_values(eve_types, modifiers=mods, options={'solarsystem_id': solar_system})

    # calculate the totals
    totals = {'sell': 0, 'buy': 0, 'all': 0, 'volume': 0}
    for t in eve_types:
        for total_key in ['sell', 'buy', 'all', 'volume']:
            totals[total_key] += t.pricing_info['totals'][total_key]

    sorted_eve_types = sorted(
        eve_types, key=lambda k: -k.representative_value())
    displayable_line_items = []
    for eve_type in sorted_eve_types:
        displayable_line_items.append(eve_type.to_dict())
    results = {
        'from_igb': is_from_igb(),
        'totals': totals,
        'bad_line_items': bad_lines,
        'line_items': displayable_line_items,
        'created': time.time(),
        'raw_paste': raw_paste,
        'solar_system': solar_system,
        'solar_system_name': app.config['VALID_SOLAR_SYSTEMS'].get(
            solar_system, 'UNKNOWN'),
    }
    if len(sorted_eve_types) > 0:
        if session['options'].get('share'):
            result_id = save_result(results, public=True)
            results['result_id'] = result_id
        else:
            result_id = save_result(results, public=False)
    return render_template(
        'results.html', results=results, from_igb=is_from_igb(),
        full_page=request.form.get('load_full'))
예제 #2
0
def add_modifier(character_name, data_list):
    character = Character.objects.get(character_name=character_name)
    modifier = Modifiers(character=character, stat=data_list['mod_attr'], amount=data_list['mod_value'])
    modifier.save()