from .model import Article from .model import ArticleSchema #import flask from datetime import datetime import json from src.database import db_session, read_json from src.controller import BaseController class ArtController(BaseController): __myclass__=Article __jsonid__='article' def pagination_params(self,v): try: if v.has_key("per_page"): pp=int(v["per_page"]) else: pp=20 if v.has_key("page"): o=(int(v["page"])-1) *pp else: o=0 except ValueError: pp=20 o=0 if not (isinstance(pp,int) and pp>0 and pp<10000): pp=20 if not (isinstance(o,int) and o>=0 and o<100000): o=0 p1=(pp,o) return p1 def search(self,s): return Article.query.filter(Article.title.like("%"+s+"%")).order_by(Article.published_date.desc()).limit(20).all() def get_all(self): return Article.query.order_by(Article.published_date.desc()).all() def get_all_page(self,lim, off): return Article.query.order_by(Article.published_date.desc()).limit(lim).offset(off).all() def get_section_page(self,section_id, lim, off): return Article.query.filter(Article.section_id==section_id).order_by(Article.published_date.desc()).limit(lim).offset(off).all() def get_section_page(section_id, lim, off): return Article.query.filter(Article.section_id==section_id).order_by(Article.published_date.desc()).limit(lim).offset(off).all() def section_count(section_id): return Article.query.filter(Article.section_id==section_id).count() def count(): return Article.query.count() controller=ArtController()