def get_form_kwargs(self): kwargs = super(SubmitNew, self).get_form_kwargs() kwargs['instance'] = Articles() if self.request.user.is_authenticated(): kwargs['instance'].subject = '0' kwargs['instance'].name = self.request.user return kwargs
def index(): from models import Articles, Comments from forms import ArticlesForm, CommentsForm if request.method == 'POST': print(request.form) us_form = ArticlesForm(request.form) if us_form.validate(): post_art = Articles(**us_form.data) db.session.add(post_art) db.session.commit() return 'Article was created' else: us_form = CommentsForm(request.form) if us_form.validate(): post_com = Comments(**us_form.data) db.session.add(post_com) db.session.commit() return 'Commit was created' else: raise Exception if request.method == 'GET': vie_posts = Articles.query.all() return render_template('home.txt', posts=vie_posts)
def copyFromArticles(self, request): '''Copies articles and authors from legacy Articles Kind into new Article and Author kinds''' user = endpoints.get_current_user() if not user: raise endpoints.UnauthorizedException('Authorization required') for article in Articles().all(): if '@' not in article.author: author_email = article.author + '@gmail.com' else: author_email = article.author a_key = ndb.Key(Author, author_email) author = a_key.get() # create new Author if not there if not author: author = Author( key=a_key, authorID=str(Author.allocate_ids(size=1)[0]), displayName=author_email.split('@')[0], mainEmail=author_email, ) author.put() self.copyArticlesKind(article, author) return BooleanMessage(data=True)
def handle_articles(): #POST method if request.method == "POST": body = request.get_json() #Conditions for request! if body is None: raise APIException( "You need to specify the request body as a json object", status_code=400) if "title" not in body: raise APIException('You need to specify the title', status_code=400) if "description" not in body: raise APIException('You need to specify the description', status_code=400) article = Articles(title=body['title'], description=body["description"]) db.session.add(article) db.session.commit() return 'ok', 200 #GET Method if request.method == 'GET': all_articles = Articles.query.all() all_articles = list(map(lambda x: x.serialize(), all_articles)) return jsonify(all_articles), 200
def test_db(): from models import Articles try: t_book = Articles(name='aaaa', author='aaaaa', published=2001) db.session.add(t_book) db.session.commit() except Exception as e: return (str(e))
def addArticleView(): if request.method == 'POST': title = request.values.get("title") content = request.values.get("content") article = Articles(article_title=title, article_content=content) db.session.add(article) db.session.commit() flash('Add article succeed!') return redirect(url_for('adminArticlesView')) return render_template('adminAddArticle.html')
def form(): if request.form: new_article = Articles(name=request.form['name'], title=request.form['title'], sub_title=request.form['article_subtitle'], body=request.form['description'], url=request.form['url']) db.session.add(new_article) db.session.commit() return redirect(url_for('index')) return render_template('form.html')
def fetch_articles_from_specific_dates(self, query: str, date_from: str, date_to: str, page_size: int = 100) -> Articles: """Method to fetch articles from specific dates: dates should be in format in 2019-08-04""" if self.mode == 'NEWSPAPER': params = "q={0}&pageSize={1}&apiKey={2}&from={3}&to={4}".format( query, page_size, self.api_key, date_from, date_to) elif self.mode == 'GNEWS': params = "q={0}&max={1}&token={2}&mindate={3}&maxdate={4}".format( query, page_size, self.api_key, date_from, date_to) url = self.baseUrl + params results = requests.get(url).json() try: articles = results["articles"] except KeyError: return Articles([]) return Articles(self.create_article_objects(articles))
def add_article(): form = ArticleForm(request.form) if request.method == 'POST' and form.validate(): title = form.title.data content = form.content.data author = session['username'] new_article = Articles(title=title, content=content, author=author) db.session.add(new_article) db.session.commit() flash('Article created', 'success') return redirect(url_for('blog.dashboard')) return render_template('add_article.html', form=form)
def Release(): if request.method == 'GET': return render_template('release.html') else: title = request.form.get('title') content = request.form.get('content') article = Articles(title=title,content=content) article.author = g.user db.session.add(article) db.session.commit() return redirect(url_for('Index')) pass
def fetch_all_articles(self, query: str, page_size: int = 10) -> Articles: """Method to fetch all articles of a specific query. Note to get the full body use the get_body method""" if self.mode == 'NEWSPAPER': url_parameters = "q={0}&pageSize={1}&apiKey={2}".format( query, page_size, self.api_key) elif self.mode == 'GNEWS': url_parameters = "q={0}&max={1}&token={2}".format( query, page_size, self.api_key) url = self.baseUrl + url_parameters results = requests.get(url).json() all_articles = results["articles"] return Articles(self.create_article_objects(all_articles))
def process_articles_source(article_list): source_articles = [] for art in article_list: source = art.get("source") author = art.get('author') title = art.get('title') description = art.get('description') url = art.get('url') urlToImage = art.get('urlToImage') publishedAt = art.get('publishedAt') article_object = Articles(source,author,title,description,url,urlToImage,publishedAt) source_articles.append(article_object) return source_articles
def add_book(): name=request.args.get('name') author=request.args.get('author') published=request.args.get('published') try: book=Articles( name=name, author=author, published=published ) db.session.add(book) db.session.commit() return "Book added. book id={}".format(book.id) except Exception as e: return(str(e))
def process_new_articles(articles_list): articles_outcome = [] for one_article in articles_list: source = one_article.get("source") author = one_article.get("author") description = one_article.get("description") title = one_article.get("title") url = one_article.get("url") urlToImage = one_article.get("urlToImage") publishedAt = one_article.get("publishedAt") new_article = Articles(source, author, title, description, url, urlToImage, publishedAt) articles_outcome.append(new_article) return articles_outcome
def create_article(): if request.method == 'POST': title = request.form['title'] intro = request.form['intro'] text = request.form['text'] article = Articles(title=title, intro=intro, text=text) try: db.session.add(article) db.session.commit() return redirect('/posts') except: return 'При добавлении страницы произошла ошибка' else: return render_template('create-article.html')
def test(request): title = u'何以解忧,唯有前行!' subtitle = u'何以解忧,唯有杜康' content = u'我其实很久以前就读了东野圭吾的《解忧杂货店》,感觉这是一本最不像东野圭吾的小说,没有他一贯的引人注目的悬疑和推理,看似十分凌乱。初读的时候,很容易被众多的人物和错乱的时空搞得莫名奇妙。但是,当你真正读懂读通,理清了小说的时间顺序和人物关系,你就会发现它仍旧是东野圭吾的风格,故事缜密又奇妙。' author = Author.objects.filter(name='xiaoxiao').first() categorys = Categorys.objects.get(pk=3) tag = Tags.objects.get(pk=3) article = Articles(title=title, subtitle=subtitle, content=content, author=author, categorys=categorys) # article = Articles.objects.all().first() for i in range(50): article.save() article.tags.add(tag) return HttpResponse('success')
def articles_list(): form = ArticlesForm() all_articles = Articles.query.all() all_authors = Author.query.all() if request.method == "POST": if form.validate() is not False: new_article = Articles(request.form.get('author'), form.title.data, form.slug.data, form.lead.data, form.body.data, datetime.datetime.now()) db.session.add(new_article) db.session.commit() form = ArticlesForm() # Re-render the form return render_template('articles.html', form=form, all_articles=all_articles, all_authors=all_authors)
def add_book_form(): if request.method == 'POST': name=request.form.get('name') author=request.form.get('author') published=request.form.get('published') try: book=Articles( name=name, author=author, published=published ) db.session.add(book) db.session.commit() return "Book added. book id={}".format(book.id) except Exception as e: return(str(e)) return render_template("getdata.html")
def process_item(self, item, spider): """Save articles in the database. This method is called for every item pipeline component. """ session = self.Session() article = Articles(**item) try: session.add(article) session.commit() except: session.rollback() raise finally: session.close() return item
def api_create_article(): i = ctx.request.input(name='', summary='', category_id='', tags='', draft='', publish_time='', cover=None, content='') if not i.cover: raise APIValueError('cover', 'Cover cannot be empty.') name = assert_not_empty(i.name, 'name') summary = assert_not_empty(i.summary, 'summary') category_id = _check_category_id(i.category_id) content = assert_not_empty(i.content, 'content') draft = i.draft.lower() == 'true' if draft: publish_time = time.time() + TIME_FEATURE else: publish_time = time2timestamp( i.publish_time) if i.publish_time else time.time() f = i.cover atta = uploaders.upload_cover(name, f.file.read()) article_id = db.next_id() article = Articles( \ _id = article_id, \ user_id = ctx.user._id, \ cover_id = atta._id, \ category_id = category_id, \ content_id = texts.set(article_id, content), \ publish_time = publish_time, \ draft = draft, \ user_name = ctx.user.name, \ name = name, \ summary = summary, \ tags = texts.format_tags(i.tags) \ ).insert() return dict(_id=article._id)
def response(self): if self.request.method == 'POST': submitted = self.request.POST.items() try: self.get_form().validate(submitted) except deform.ValidationFailure as e: return Response( env.get_template('create.html').render(form=e.render())) article = Articles( **{ 'title': self.request.POST['title'], 'content': self.request.POST['content'] }) dbsession = Session() dbsession.add(article) dbsession.commit() dbsession.close() self.session = get_session(self.request).pop('csrf') return Response(status=302, location='/') return Response( env.get_template('create.html').render( form=self.get_form().render()))
def article_add(): if 'user_name' in session: # Fetch News Categories from DB news_categories = News_categories.query.order_by( News_categories.date_created).all() viewData = { 'title': 'Add Article', 'list_item_active': 'article_add', 'news_categories': news_categories } if request.method == 'POST': category_id = request.form['category_id'] author_id = session['userID'] title = request.form['title'] summary = request.form['summary'] content = request.form['content'] pub_status = request.form['pub_status'] article = Articles(category_id=category_id, author_id=author_id, title=title, summary=summary, content=content, pub_status=pub_status) try: db.session.add(article) db.session.commit() return redirect(url_for('index')) except: return 'There was an issue with creating new Article!' else: return render_template('article_add.html', data=viewData) else: return redirect(url_for('login'))
def itemAdd(): if 'username' not in login_session: return redirect(url_for('login')) categories = session.query(Categories).all() if request.method == 'POST': title = request.form['title'] about = request.form['description'] category = request.form['category'] picture = request.form['picture'] newArticle = Articles( title=title, about=about, category_name=category, time=str(datetime.datetime.now()), user_id=login_session['user_id'], picture=picture) session.add(newArticle) session.commit() flash("Article has been added.") return redirect(url_for('homeHandler')) if request.method == 'GET': return render_template('newArticle.html', categories=categories)
def publish(): user_id=flask.session.get('id') if user_id: if flask.request.method=='GET': return flask.render_template('publish.html') else: title=flask.request.form.get('title') content=flask.request.form.get('content') tagname=flask.request.form.get('tagname') id=flask.request.form.get('id') tag=Tags.query.filter(Tags.tagname==tagname).first() if tag: tag_id=tag.id else: tag=Tags(tagname=tagname) db.session.add(tag) db.session.commit() tag_id = Tags.query.filter(Tags.tagname == tagname).first().id article=Articles(id=id,title=title,content=content,tag_id=tag_id) db.session.add(article) db.session.commit() return flask.redirect(flask.url_for('index')) # title = form.title.data # content = form.content.data # tagname = form.tagname.data # tag = Tags.query.filter(Tags.tagname == tagname).first() # if tag: # tag_id = tag.id # else: # tag=Tags(tagname=tagname) # db.session.add(tag) # db.session.commit() # tag_id = Tags.query.filter(Tags.tagname == tagname).first().id # article=Articles(title=title,content=content,tag_id=tag_id) # db.session.add(article) # db.session.commit() # return flask.redirect(flask.url_for('index')) else: return flask.redirect(flask.url_for('login'))
def front_add_article(request): if request.method == 'GET': categorys = Categorys.objects.all() tags = Tags.objects.all() context = {'categorys': categorys, 'tags': tags} if hasattr(request, 'front_user'): context['front_user'] = request.front_user return render(request, 'front_add_article.html', context) else: form = AddArticleForm(request.POST) if form.is_valid(): title = form.cleaned_data.get('title') subtitle = form.cleaned_data.get('subtitle') data = request.POST tags = request.POST.getlist('tags[]') context = {} for k, v in data.iteritems(): context[k] = v category_name = context['category'] #获取分类 categoryModel = Categorys.objects.filter( name=category_name).first() current_user = request.front_user article_content = context['textarea_content'] articleModel = Articles(title=title, subtitle=subtitle, categorys=categoryModel, author=current_user, content=article_content) articleModel.save() for tag in tags: tagModel = Tags.objects.filter(pk=tag).first() articleModel.tags.add(tagModel) data = {'code': 200, 'info': u'恭喜您!文章发布成功!'} return JsonResponse(data) else: return render(request, 'front_add_article.html', {'error': '表单验证出错!'})
def publish_article(): if session.get('username'): if request.method == 'GET': return render_template('publish.html') else: article_type = request.values.get('article_type') title = request.form.get('title').strip() content = request.form.get('content').strip() if title and content: article = Articles(type=article_type, title=title, content=content) author = Users.query.filter( Users.username == session['username']).first() article.author = author db.session.add(article) db.session.commit() return redirect( url_for('article.article_info', article_id=article.id)) else: flash(u'标题或内容不能为空', 'error') return render_template('publish.html') else: return redirect(url_for('auth.login'))
def setUp(self): self.new_article = Articles('')