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
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