def import_articles(): data = request.get_json(force=True) validate(data, post_import_articles_schema) articles = [] errors = [] for item in data: err = '' article = Article.query.filter(Article.old_id == item['id']).first() if not article: article = Article( old_id=item['id'], title=item['title'], author=item['author'], content=item['content'], created_at=item['entrydate'] if item['entrydate'] != '0000-00-00' else None, image_filename=item['image_filename'] if 'image_filename' in item else None ) articles.append(article) dao_create_article(article) else: err = u'article already exists: {} - {}'.format(article.old_id, article.title) current_app.logger.info(err) errors.append(err) res = { "articles": [a.serialize() for a in articles] } if errors: res['errors'] = errors return jsonify(res), 201 if articles else 400 if errors else 200
def create_article( old_id=1, title='Egyptians', author='Mrs Black', content='Some info about Egypt\r\n\"Something in quotes\"', ): data = { 'old_id': old_id, 'title': title, 'author': author, 'content': content, } article = Article(**data) dao_create_article(article) return article