#from src.models import Organization from flask import request from src.database import read_json, db_session from sqlalchemy.exc import IntegrityError from src import clogger class BaseController(): def get(self,id): return db_session.query(self.__myclass__).get(id) def create(self,request): d=read_json(request) if d.has_key(self.__jsonid__): d= d[self.__jsonid__] o=self.__myclass__() success, errors=o.update(d) if success: db_session.add(o) try: db_session.commit() except IntegrityError as e: db_session.rollback() errors.append(e.message) return o, errors def get_all(self): ar = db_session.query(self.__myclass__).all() return ar def delete(self,id): o=self.get(id) if o != None: db_session.delete(o) db_session.commit() def update(self,id,request): d=read_json(request) o=self.get(id) if d.has_key(self.__jsonid__): d= d[self.__jsonid__] success,errors=o.update(d) if success: try: db_session.commit() except IntegrityError as e: db_session.rollback() errors.append(e.message) return o,errors