various improvements
This commit is contained in:
@@ -2,7 +2,10 @@ from .model import Article
|
||||
from .model import ArticleSchema
|
||||
#import flask
|
||||
from datetime import datetime
|
||||
from sqlalchemy import func
|
||||
from sqlalchemy import exc
|
||||
import json
|
||||
from src import clogger
|
||||
from src.sections.model import Section
|
||||
from src.organizations.model import Organization
|
||||
from src.database import db_session, read_json
|
||||
@@ -42,7 +45,13 @@ class ArtController(BaseController):
|
||||
|
||||
|
||||
def get_all_page(self,lim, off):
|
||||
return Article.query.order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
# try:
|
||||
arts=Article.query.order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
# except exc.InvalidRequestError, e:
|
||||
# clogger.error(e)
|
||||
# db_session.rollback()
|
||||
# arts=Article.query.order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
return arts
|
||||
|
||||
|
||||
def get_section_page(self,section_id, lim, off):
|
||||
@@ -52,21 +61,21 @@ class ArtController(BaseController):
|
||||
def get_organization_page(self,organization_id, lim, off):
|
||||
sid=db_session.query(Section.id).filter(Section.organization_id==int(organization_id)).all()
|
||||
sid=map(lambda a:a[0], sid)
|
||||
articles=Article.query.filter(Article.section_id.in_(sid)).order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
articles=db_session.query(Article).filter(Article.section_id.in_(sid)).order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
return articles
|
||||
#
|
||||
# return Article.query.filter(Article.section_id==section_id).order_by(Article.published_date.desc()).limit(lim).offset(off).all()
|
||||
|
||||
def section_count(self,section_id):
|
||||
return Article.query.filter(Article.section_id==section_id).count()
|
||||
return db_session.query(func.count(Article.id)).filter(Article.section_id==section_id).scalar()
|
||||
|
||||
def organization_count(self,organization_id):
|
||||
sid=db_session.query(Section.id).filter(Section.organization_id==int(organization_id)).all()
|
||||
sid=map(lambda a:a[0], sid)
|
||||
return Article.query.filter(Article.section_id.in_(sid)).count()
|
||||
return db_session.query(func.count(Article.id)).filter(Article.section_id.in_(sid)).scalar()
|
||||
|
||||
def count(self):
|
||||
return Article.query.count()
|
||||
return db_session.query(func.count(Article.id)).scalar()
|
||||
|
||||
|
||||
controller=ArtController()
|
||||
|
||||
Reference in New Issue
Block a user