示例#1
0
def get_abilities(search=None, unused=False, query_gerneration=None):
    abilities = []

    if search is None:
        search = ""

    abilities = []
    for ability in Ability.select().order_by(Ability.id):
        if search in ability.name:
            abilities.append(ability)

    if unused:
        abilities = [
            ability for ability in abilities if len(ability.pokemons) == 0
        ]
    if query_gerneration is not None:

        filtered_abilities = []
        for ability in abilities:

            # abilities = []

            generation_de_ce_ability = Generation.select().where(
                Generation.id == ability.generation)
            # print((generation_de_ce_ability[0].name))
            if query_gerneration in generation_de_ce_ability[0].name:
                filtered_abilities.append(ability)
        abilities = filtered_abilities

    return abilities
示例#2
0
def search_abilities(query=None, limits=None, offset=None):
    """:return abilities containing  query
     :parameter limits limit the number of abilities
     :parameter offset the offset"""

    if limits == None:
        limits = 10
    if offset == None:
        offset = 0
    abilities = (Ability.select(Ability.id, Ability.name,
                                Ability.is_main_series,
                                Ability.generation).join(Generation)).order_by(
                                    Ability.name).limit(limits).offset(offset)
    if query != None:
        abilities = abilities.where(query in Ability.name)
    if len(abilities) > (limits + offset):
        abilities = abilities.limits(limits).offset(offset)
    data = [
        dict({
            "id": ability.id,
            "name": ability.name,
            "is_main_series": ability.is_main_series,
            "generation": ability.generation.name
        }) for ability in abilities
    ]
    return data
示例#3
0
def get_abilities(generation=None, limit=None, offset=None):
    abilities = Ability.select().offset(offset).limit(limit)
    if generation is not None:
        generation_id = Generation.get_or_none(name=generation)
        if generation_id is not None:
            abilities = Generation.select().where(
                Generation.name == generation)

    return abilities
示例#4
0
def get_number_of_abilities_by_generation(generation=None):
    ability_of_generation = Ability.select().where(
        Ability.generation == generation)
    number_of_abilities_of_generation = ability_of_generation.count()
    return number_of_abilities_of_generation
示例#5
0
def search_abilities(query, limit=None):
    query = query.lower()
    abilities = Ability.select().where(Ability.name.contains(query))
    return abilities
示例#6
0
def get_abilities():
    abilities = Ability.select()
    return abilities
示例#7
0
def number_of_abilities(generation_id):
    counter = len(
        Ability.select().where(Ability.generation_id == generation_id))
    return counter