Example #1
0
def new_idea(title, details):
    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()

    if not validate(title):
        results["status"] = 500
        results["error"] = "Title cannot be empty."
    elif not validate(details):
        results["status"] = 500
        results["error"] = "Details cannot be empty."
    else:
        try:
            idea = Idea(title, details)
            results["data"] = IdeaDao.add_or_update_idea(idea, session)
            session.commit()
        except:
            session.rollback()
            results["status"] = 500
            results["error"] = "There was a database error." + traceback.format_exc()
        finally:
            session.close()

    return results
Example #2
0
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