def get_ideas(idea_id=None): results = {"status": 200, "data": "", "error": ""} # Creating a session for database access. engine = create_engine(config.db_url) Base.metadata.bind = engine db_session = sessionmaker(bind=engine) session = db_session() try: if idea_id is None: results["data"] = IdeaDao.get_all_ideas(session) else: results["data"] = IdeaDao.get_idea(idea_id, session) session.commit() except: session.rollback() results["status"] = 500 results["error"] = "There was a database error.\n" + traceback.format_exc() finally: session.close() return results