def test_create_instances(client):
    instance_civ = get_model(
        "civilizations",
        ("ExampleCiv", "Age of Kings", "Archers", "Sample Unit", "Sample Tech",
         "BonusTeam", "CivBonus"))

    instance_unit = get_model(
        "units", ("SampleUnit", "description", "expansion", "age",
                  "created_in", "{'cost': 'null'}", 34, 0.4, 0.3, 0.94, 3,
                  1000, "1-8", 10, "3/4", None, None, None, None, None))

    instance_strct = get_model(
        "structures",
        ("AmazingStructure", "expansion", "age", "{'cost':'null'}", 30, 1000,
         5, "3/4", "1-8", None, None, None))

    instance_tech = get_model(
        "technologies",
        ("GroundbreakingTech", "expansion", "age", "develops_in",
         "{'cost': 'null'}", 30, "Someone", "description"))

    assert instance_civ is not None and repr(
        instance_civ) == "<Civilization: ExampleCiv>"
    assert instance_unit is not None and repr(
        instance_unit) == "<Unit: SampleUnit>"
    assert instance_strct is not None and repr(
        instance_strct) == "<Structure: AmazingStructure>"
    assert instance_tech is not None and repr(
        instance_tech) == "<Technology: GroundbreakingTech>"
 def parse_array_field(self, field):
     out = []
     for item in [x for x in field.split(";")]:
         unit = get_model('units').query.filter_by(name=item).first()
         technology = get_model('technologies').query.filter_by(
             name=item).first()
         if unit:
             out.append('{}unit/{}'.format(
                 request.url_root + request.blueprint,
                 self.format_name_to_query(unit.name)))
         elif technology:
             out.append('{}technology/{}'.format(
                 request.url_root + request.blueprint,
                 self.format_name_to_query(technology.name)))
     return out
Esempio n. 3
0
def populate_db():
    for filename in os.listdir(os.path.abspath('./data')):
        if not filename.endswith('.csv'):
            continue

        data = load_data('data/{}'.format(filename))
        filename = filename.split(".")[0]
        for row in data:
            item = get_model(filename, row)
            db.session.add(item)
            db.session.commit()
    def map_to_resource_url(self):
        out = []
        for item in self.applies_to.split(';'):
            unit = get_model('units').query.filter_by(name=item).first()
            structure = get_model('structures').query.filter_by(
                name=item).first()
            civilization = get_model('civilizations').query.filter_by(
                name=item).first()

            if unit:
                out.append('{}unit/{}'.format(
                    request.url_root + request.blueprint,
                    self.format_name_to_query(unit.name)))
            elif structure:
                out.append('{}structure/{}'.format(
                    request.url_root + request.blueprint,
                    self.format_name_to_query(structure.name)))
            elif civilization:
                out.append('{}civilization/{}'.format(
                    request.url_root + request.blueprint,
                    self.format_name_to_query(civilization.name)))
            else:
                out.append(item)
        return out