Exemplo n.º 1
0
def index():
    form = InputForm()
    if form.validate_on_submit():
        attacker, defender = units_from_form(form)
        options = options_from_form(form)
        outcomes = calc.calculate(attacker, defender, options, test=False)
        defaults = form

        checkboxes = defaultdict(lambda: "")
        for opt in options.keys():
            checkboxes[opt] = "checked" if options[opt] else ""

        hidden = defaultdict(lambda: False)
        for opt in options.keys():
            if "hide" in opt:
                if "att_" in opt and not options["att_faction"].lower().split(
                        "-")[0] in opt:
                    hidden[opt] = True
                if "def_" in opt and not options["def_faction"].lower().split(
                        "-")[0] in opt:
                    hidden[opt] = True

        boxes = html_generator.make_boxes(checkboxes, hidden)

        return render_template('index.html',
                               outcomes=outcomes,
                               form=form,
                               defaults=defaults,
                               checkboxes=checkboxes,
                               boxes=boxes)
    else:
        print("in else")
        flash_errors(form)

    outcomes = [0, 0, 0]
    defaults = defaultdict(lambda: {"data": "0"})

    checkboxes = defaultdict(lambda: "")
    checkboxes["att_riskdirecthit"] = "checked"
    checkboxes["def_riskdirecthit"] = "checked"

    hidden = defaultdict(lambda: False)
    for opt in options_list():
        if "hide" in opt:
            hidden[opt] = True

    boxes = html_generator.make_boxes(checkboxes, hidden)

    return render_template('index.html',
                           outcomes=outcomes,
                           form=form,
                           defaults=defaults,
                           checkboxes=checkboxes,
                           boxes=boxes)
import os
import sys

sys.path.insert(1, os.path.join(sys.path[0], '../../..'))
import app.calculator.calculator as calc
from app import testing_helpers

attacker, defender, options, tol = testing_helpers.defaults()

# target source: http://alphamou.se/ti4calc/
target = [11, 44, 44]  # target percentages; [tie, attacker, defender]
print("1 Carrier vs 1 Carrier")

# Units
attacker["carrier"] = 1
defender["carrier"] = 1

# Factions

# Ground Combat
options["ground_combat"] = False

# Options

outcomes = calc.calculate(attacker, defender, options)
testing_helpers.evaluate(outcomes, target, tol)
Exemplo n.º 3
0
def index():
    form = InputForm()
    if form.validate_on_submit():
        # Get inputs from form
        attacker, defender = units_from_form(form)
        options = options_from_form(form)

        try:
            outcomes = calc.calculate(attacker, defender, options, test=False)
        except:
            error_print(attacker, defender, options)
            flash("Sorry, something went wrong in the calculation :(")
            outcomes = [0, 0, 0]
            traceback.print_exc()

        # Determine which checkboxes should remain checked
        checkboxes = defaultdict(lambda: "")
        for opt in options.keys():
            checkboxes[opt] = "checked" if options[opt] else ""

        # Determine which options should be hidden
        hidden = defaultdict(lambda: False)
        for opt in options.keys():
            if "hide" in opt:
                if "att_" in opt and not options["att_faction"].lower().split(
                        "-")[0] in opt:
                    hidden[opt] = True
                if "def_" in opt and not options["def_faction"].lower().split(
                        "-")[0] in opt:
                    hidden[opt] = True
        boxes = html_generator.make_boxes(checkboxes, hidden)

        # Remember numbers that were filled in
        defaults = form

        return render_template('index.html',
                               outcomes=outcomes,
                               form=form,
                               defaults=defaults,
                               checkboxes=checkboxes,
                               boxes=boxes)
    else:
        flash_errors(form)

    outcomes = [0, 0, 0]
    defaults = defaultdict(lambda: {"data": "0"})

    checkboxes = defaultdict(lambda: "")
    checkboxes["att_riskdirecthit"] = "checked"
    checkboxes["def_riskdirecthit"] = "checked"

    hidden = defaultdict(lambda: False)
    for opt in options_list():
        if "hide" in opt:
            hidden[opt] = True

    boxes = html_generator.make_boxes(checkboxes, hidden)

    return render_template('index.html',
                           outcomes=outcomes,
                           form=form,
                           defaults=defaults,
                           checkboxes=checkboxes,
                           boxes=boxes)