init commit

This commit is contained in:
Andreas Stephanides
2017-01-14 12:23:04 +01:00
commit 8955bf17f5
32 changed files with 1555 additions and 0 deletions

65
articles/views.py Normal file
View File

@@ -0,0 +1,65 @@
from flask import Blueprint, jsonify, render_template, abort, redirect, url_for, request
article_pages = Blueprint('articles', __name__)
from .model import Article
from .model import ArticleSchema
#import flask
from datetime import datetime
import json
#flask.json.JSONEncoder.default = lambda self,obj: (obj.isoformat() if isinstance(obj, datetime) else None)
#flask.json.JSONEncoder.default = lambda self,obj: ((obj.dict()) if isinstance(obj, Article) else None)
from src import clogger
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)
@article_pages.route("/")
@article_pages.route("")
@article_pages.route(".json")
def index():
articles=Article.query.all()
return jsonify(articles=articles)
@article_pages.route("/<int:id>",methods=['PUT'])
@article_pages.route("/<int:id>.json",methods=['PUT'])
def update(id):
article=Article.query.get(id)
clogger.info(request.data)
a=request.get_json()
article.text=a["text"]
db_session.commit()
return jsonify(article=article)
@article_pages.route("/<int:id>",methods=['GET'])
@article_pages.route("/<int:id>.json",methods=['GET'])
def get(id):
article=Article.query.get(id)
clogger.info(article)
# article=ArticleSchema().dump(article)[0]
return jsonify(article=article)
@article_pages.route("/<int:id>",methods=['DELETE'])
@article_pages.route("/<int:id>.json",methods=['DELETE'])
def delete(id):
article=Article.query.get(id)
clogger.info(id)
if article != None:
db_session.delete(article)
db_session.commit()
return jsonify(article={})
@article_pages.route("/",methods=['POST'])
@article_pages.route("",methods=['POST'])
@article_pages.route(".json",methods=['POST'])
def create():
article=Article()
a=read_json(request)
article.text=a["article"]["text"]
db_session.add(article)
db_session.commit()
return jsonify(article=article)