use db_session for articles and sections

This commit is contained in:
Andreas Stephanides
2017-02-21 19:55:19 +01:00
parent ae2f61485e
commit 4a935ee4a9
9 changed files with 18 additions and 41 deletions

View File

@@ -37,25 +37,20 @@ class ArtController(BaseController):
return p1
def search(self,s):
return Article.query.filter(Article.title.like("%"+s+"%")).order_by(Article.published_date.desc()).limit(20).all()
return db_session.query(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()
return db_session.query(Article).order_by(Article.published_date.desc()).all()
def get_all_page(self,lim, off):
# 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()
arts=db_session.query(Article).order_by(Article.published_date.desc()).limit(lim).offset(off).all()
return arts
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()
return db_session.query(Article).filter(Article.section_id==section_id).order_by(Article.published_date.desc()).limit(lim).offset(off).all()
def get_organization_page(self,organization_id, lim, off):

View File

@@ -128,7 +128,7 @@ class Article(Base):
@classmethod
def from_hash(cls, a):
fp = calc_fingerprint_h(a)
aa = Article.query.filter(Article.fingerprint==fp).first()
aa = db_session.query(Article).filter(Article.fingerprint==fp).first()
if aa is None:
clogger.debug( "new Article")
if a["published"] is not None:

View File

@@ -11,6 +11,7 @@ import json
from src.database import db_session, read_json
import flask
#flask.json.JSONEncoder.default = lambda self,obj: ((ArticleSchema().dump(obj)[0]) if isinstance(obj, Article) else None)
flask.json.JSONEncoder.default = lambda self,obj: ((obj.__json__()) if isinstance(obj, (Base, Article,CrawlUrl)) else None)
from controller import controller
@@ -38,7 +39,7 @@ def index():
@article_pages.route("/<int:id>",methods=['PUT'])
@article_pages.route("/<int:id>.json",methods=['PUT'])
def update(id):
article=Article.query.get(id)
article=db_session.query(Article).get(id)
clogger.info(request.data)
a=request.get_json()
article.text=a["text"]
@@ -49,7 +50,7 @@ def update(id):
@article_pages.route("/<int:id>",methods=['GET'])
@article_pages.route("/<int:id>.json",methods=['GET'])
def get(id):
article=Article.query.get(id)
article=db_session.query(Article).get(id)
# clogger.info(article)
# article=ArticleSchema().dump(article)[0]
return jsonify(article=article)
@@ -57,7 +58,7 @@ def get(id):
@article_pages.route("/<int:id>",methods=['DELETE'])
@article_pages.route("/<int:id>.json",methods=['DELETE'])
def delete(id):
article=Article.query.get(id)
article=db_session.query(Article).get(id)
# clogger.info(id)
if article != None:
db_session.delete(article)