예제 #1
0
def get_all_fishes():
    conn = get_db_connection()
    rows = conn.execute(
        'SELECT fishes.id, fishes.name,lifespan, mass, fishes.length, fishes.height, red, green, blue,'
        'diets.name as diet,'
        'fins.height as height_fin, fins.length as length_fin'
        ' FROM ((fishes JOIN colors ON color_id = colors.id)'
        'JOIN diets ON diet_id = diets.id)'
        'JOIN fins ON fin_id = fins.id').fetchall()
    fishes = []
    for row in rows:
        fish = Fish()
        fish.id = row['id']
        fish.name = row['name']
        fish.mass = row['mass']
        fish.diet = str2diet(row['diet'])
        fish.height = row['height']
        fish.length = row['length']
        fish.lifespan = row['lifespan']
        fish.color = (row['red'], row['green'], row['blue'])
        fish.height_fin = row['height_fin']
        fish.length_fin = row['length_fin']
        fishes.append(fish)
    conn.close()
    return fishes
예제 #2
0
def create_fish_from_values(lifespan, mass, diet, length, height, color, length_fin, height_fin):
    fish = Fish()
    if lifespan:
        fish.lifespan = float(lifespan)
    if mass:
        fish.mass = float(mass)
    if diet != 'not chosen':
        fish.diet = str2diet(diet)
    if length:
        fish.length = float(length)
    if height:
        fish.height = float(height)
    if color != default_color:
        rgb = tuple([int('0x' + color[2*i + 1: 2*i + 2], 16) for i in range(3)])
        fish.color = rgb
    if length_fin:
        fish.length_fin = float(length_fin)
    if height_fin:
        fish.height_fin = float(height_fin)
    return fish