def mget_map_by_platform_and_time_after(cls, platform, time_after): session = DBSession() subqry = session.query(func.min(cls.time_at)).\ filter(cls.time_at >= time_after, cls.platform == platform) result = session.query(cls). \ filter(cls.platform == platform, cls.time_at == subqry).all() session.close() return {_.tv_name: _.all_play_counts for _ in result}
def add(cls, **kwds): session = DBSession() session.add(cls(**kwds)) try: session.flush() session.commit() except SQLAlchemyError: session.rollback() raise (SQLAlchemyError) finally: session.close()
def update(cls, **kwds): session = DBSession() session.query(cls).filter(cls.tv_id == kwds['tv_id']). \ update(kwds) try: session.flush() session.commit() except SQLAlchemyError: session.rollback() raise (SQLAlchemyError) finally: session.close()
def update(cls, **kwds): session = DBSession() session.query(cls).filter( cls.name == kwds['name'], cls.platform == kwds['platform'], cls.type == kwds['type']).update(kwds) # noqa try: session.flush() session.commit() except SQLAlchemyError: session.rollback() raise (SQLAlchemyError) finally: session.close()
def mget(cls): session = DBSession() result = session.query(cls).all() session.close() return result
def mget_by_platform_and_type(cls, platform, type): session = DBSession() result = session.query(cls).\ filter(cls.platform == platform and cls.type == type).all() session.close() return result
def mget_by_platform(cls, platform): session = DBSession() result = session.query(cls).filter(cls.platform == platform).all() session.close() return result