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) import controller @article_pages.route("/") @article_pages.route("") @article_pages.route(".json") def index(): articles=controller.get_all() return jsonify(articles=articles) @article_pages.route("/",methods=['PUT']) @article_pages.route("/.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("/",methods=['GET']) @article_pages.route("/.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("/",methods=['DELETE']) @article_pages.route("/.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)