def article_add(): form = ArticleForm() if form.is_submitted() and form.validate(): slug = form.slug.data if len(slug) <= 0: slug = slugify(form.title.data) # ensure slug is unique, add - until it is while Article.query.filter_by(slug=slug).count() > 0: slug += '-' article = Article(title=form.title.data, slug=slug, category_id=form.category_id.data, author_id=form.author_id.data, summary=form.summary.data, content=form.content.data, published=form.published.data) article.front_page = form.front_page.data if article.published is True: article.datetime = datetime.datetime.utcnow() article.render_html() db.session.add(article) try: db.session.commit() except: db.session.rollback() raise revision = ArticleRevision(article_id=article.id, author_id=current_user.id, title=form.title.data, summary=form.summary.data, content=form.content.data) revision.render_html() db.session.add(revision) try: db.session.commit() except: db.session.rollback() raise flash("Article Saved") return redirect(url_for('admin.articles')) categories = Category.query.all() authors = User.query.all() return render_template('admin/article_add.html', categories=categories, authors=authors, form=form)
def article_add(): error_fields = [] # article = Article() if request.method == 'POST': # Title title = request.form.get('title', "").strip() if len(title) <= 0: error_fields.append('title') # Slug slug = request.form.get('slug', "") if slug != "": slug = slugify(slug) if len(slug) <= 0 or slug is None: error_fields.append('slug') elif len(slug) <= 0 and len(title) > 0: slug = slugify(title) # author_id author_id = request.form['author_id'].strip() if User.query.filter_by(id=author_id).count() != 1: error_fields.append('author_id') # Category_id category_id = request.form['category_id'].strip() if Category.query.filter_by(id=category_id).count() != 1: error_fields.append('category_id') # datetime (should update to published time) published = request.form.get('published', False) if published is not False: published = True # front page front_page = request.form.get('front_page', False) if front_page is not False: front_page = True # summary summary = request.form.get('summary', "").strip() content = request.form.get('content', "").strip() if len(error_fields) <= 0: # ensure slug is unique, add - until it is while Article.query.filter_by(slug=slug).count() > 0: slug += '-' article = Article(title, slug, category_id, author_id, summary, content, published) # Why can't we just have a parameterless constructor so we don't # have to add constructors for each new field article.front_page = front_page if article.published is True: article.datetime = datetime.datetime.utcnow() db.session.add(article) article.render_html() # markdown to html db.session.commit() flash("Article Saved") return redirect(url_for('admin.articles')) categories = Category.query.all() authors = User.query.all() return render_template('admin/article_add.html', categories=categories, authors=authors, error_fields=error_fields)
article = Article("Cloud Nothings Prize Pack Giveaway", 'cloud-nothings-prize-pack-giveaway', 1, 1, """\ ![I dont even know what this is](/static/img/article_pic.png) Yolo ipsum ratione commodi repellendus minus and so I did, but that was last month quidem. Illo enim libero aperiam impedit distinctio aliquid. Praesentium incidunt sunt asperiores magni dealing with a heart that I didn't break blanditiis. Voluptatum dolore aut nulla quidem and I wish she wasn't married. Odit rest in peace mac dre, I'mma do it for the bay, okay accusamus alias illo hic minima. Cupiditate atque nam sit quae ducimus quia sint. Qui what you bothering me for? dignissimos hell yeah, hell yeah qui libero If you hurt, I don't tell you. Provident distinctio nostrum soluta accusantium voluptates. ## Yolo ipsum Cupiditate iste beatae f****n' right, all right ipsam sint. Non dolorem blanditiis facere neque excepturi amet. Id illo non officia placeat velit distinctio. Vero perspiciatis animi qui quisquam eum. Consequatur aut nemo est optio placeat. Ut illum at impedit ut repellat. Quia est et nobis labore then right after texting I told her I'm faded damn right, all right. Mollitia molestias quis one time, been in love one time voluptatem aut maxime molestiae. Officia et qui I'm in the building and I'm feeling myself I've had mine, you've had yours we both know quia cumque we all have our nights though, don't be so ashamed. Vero similique ab exercitationem ipsam blanditiis vitae vitae. Quis aliquid ea It's women to call ex voluptas aperiam. Incidunt consequatur culpa autem listen, listen, whoa, yeah, listen, ooooh consequuntur ut quis. We all have our nights though, don't be so ashamed impedit ab officiis autem odit you hate the fact that you bought the dream. """, published=True)
def add_sample_articles(): article = Article(u"Cloud Nothings Prize Pack Giveaway", u'cloud-nothings-prize-pack-giveaway', 1, 1, u"""\ ![I dont even know what this is](/static/img/article_pic.png) Yolo ipsum ratione commodi repellendus minus and so I did, but that was last month quidem. Illo enim libero aperiam impedit distinctio aliquid. Praesentium incidunt sunt asperiores magni dealing with a heart that I didn't break blanditiis. Voluptatum dolore aut nulla quidem and I wish she wasn't married. Odit rest in peace mac dre, I'mma do it for the bay, okay accusamus alias illo hic minima. Cupiditate atque nam sit quae ducimus quia sint. Qui what you bothering me for? dignissimos hell yeah, hell yeah qui libero If you hurt, I don't tell you. Provident distinctio nostrum soluta accusantium voluptates. ## Yolo ipsum Cupiditate iste beatae f****n' right, all right ipsam sint. Non dolorem blanditiis facere neque excepturi amet. Id illo non officia placeat velit distinctio. Vero perspiciatis animi qui quisquam eum. Consequatur aut nemo est optio placeat. Ut illum at impedit ut repellat. Quia est et nobis labore then right after texting I told her I'm faded damn right, all right. Mollitia molestias quis one time, been in love one time voluptatem aut maxime molestiae. Officia et qui I'm in the building and I'm feeling myself I've had mine, you've had yours we both know quia cumque we all have our nights though, don't be so ashamed. Vero similique ab exercitationem ipsam blanditiis vitae vitae. Quis aliquid ea It's women to call ex voluptas aperiam. Incidunt consequatur culpa autem listen, listen, whoa, yeah, listen, ooooh consequuntur ut quis. We all have our nights though, don't be so ashamed impedit ab officiis autem odit you hate the fact that you bought the dream. """, published=True) article.front_page = True db.session.add(article) article.render_html() db.session.commit() article = Article(u"Hudson Hits Another Buzzer Beater in Hokies Win", u'hudson-hits-another-buzzer-beater-in-hokies-win', 1, 1, u"""\ Yolo ipsum rerum est delectus cumque aliquam quia aliquid. I'm f****d up, torn down officiis accusamus repudiandae harum sint quas. Suscipit eligendi quasi vel veritatis enim est. Tenetur autem consequuntur sint aut soluta nostrum. Nesciunt laboriosam voluptas repellat nemo repellendus aut. One time, been in love one time quo I keep thinking you just don't know corrupti quo numquam recusandae. That she only see when she feels obligated quo recusandae nisi they loving the crew enim aliquid aut. Ipsa quisquam doloribus accusamus explicabo est voluptatem. Dignissimos quam omnis in autem id excepturi. Possimus molestiae fuga tell uncle luke I'm out in miami too fugiat obcaecati ipsam. Blanditiis non we eat each other whenever we at the dinner table et voluptatum possimus. If you let me, here's what I'll do error obcaecati It's cause we blowing like a c4 ut autem suscipit. Ipsam nostrum inventore unde est culpa est voluptas. Libero they loving the crew laudantium minima ut possimus soluta. Enim autem et atque nulla like we sittin' on the bench, n***a we don't really play quae (and we say) hell yeah. Est aperiam quo quisquam quis eos et. Id minima iusto voluptas laborum sequi quia et. Aliquid facilis a laudantium the realest n****s say 'your lyrics do shit for me' et sit ad. Qui I've loved and I've lost quae ipsa id even though it's f****d up, girl, I'm still f*****g wit ya quis. Odit voluptate energizer bunny omnis vero numquam est. Quia placeat go uptown, new york city biiitch oh, they lovin the crew but my mind didn't change you won't ever have to hide qui. """, published=True) article.front_page = True db.session.add(article) article.render_html() db.session.commit()
def add_sample_articles(): article = Article("Cloud Nothings Prize Pack Giveaway", 'cloud-nothings-prize-pack-giveaway', 1, 1, """\ ![I dont even know what this is](/static/img/article_pic.png) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ut posuere nulla. Ut varius, turpis at euismod ullamcorper, turpis libero sollicitudin lectus, vitae pellentesque magna nibh vel arcu. Etiam non euismod velit. Sed sit amet risus tempus, viverra mauris in, consectetur dui. Morbi purus nunc, mollis quis sapien et, posuere vehicula metus. Ut leo erat, blandit non urna vitae, finibus tempor augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sagittis metus ac consequat porttitor. Donec vitae augue sed erat pulvinar cursus a quis odio. Maecenas vehicula augue volutpat augue laoreet porttitor. Mauris eget bibendum neque, nec efficitur lorem. Vestibulum ultrices, urna quis sollicitudin accumsan, risus sapien aliquet mi, nec porta justo turpis in massa. Mauris arcu erat, sollicitudin ac feugiat quis, finibus nec lorem. Fusce a metus orci. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus at pharetra enim. Fusce ac commodo magna, at imperdiet tellus. Praesent dapibus erat justo, vel pellentesque tellus vehicula at. In hac habitasse platea dictumst. ## Lorem ipsum Integer eget commodo diam, at lacinia odio. Duis consequat condimentum mauris quis vestibulum. Quisque ac lobortis magna, sit amet rutrum nisi. Curabitur dapibus nisl ut nibh semper placerat. Praesent pharetra, arcu et commodo vehicula, nunc mauris semper diam, vitae accumsan urna quam id ante. Maecenas maximus, elit vitae feugiat lacinia, orci nibh porttitor augue, at tincidunt felis magna nec odio. Cras et mi vel dui vulputate rhoncus a eu mi. Proin elit dui, facilisis in risus eu, aliquam suscipit libero. Sed vitae nibh mauris. Ut placerat efficitur congue. Aliquam quis magna vehicula, lacinia justo vitae, mollis tellus. Aliquam at nibh nec metus auctor viverra. Donec fermentum, leo non fermentum fringilla, tortor tellus cursus magna, ac dignissim ipsum dolor tempus nulla. Duis eget ipsum ultricies, condimentum nunc vel, gravida metus. Curabitur porta purus felis, vel tempor ex feugiat nec. Nulla quam augue, porttitor id leo at, vestibulum viverra urna. Integer sagittis ex eu tellus vulputate lacinia. Donec porta eu ligula rhoncus vulputate. Fusce finibus erat ac elit congue, at scelerisque lorem porttitor. Vivamus magna dolor, gravida a est et, interdum sodales sapien. Pellentesque a ultricies massa. Phasellus a dictum sapien. Mauris dictum rutrum purus, eu ullamcorper ipsum tempor at. Integer egestas volutpat leo, non faucibus felis venenatis eget. Curabitur a iaculis lectus. Quisque sagittis tempus felis a consequat. Nullam dui sem, cursus in convallis sed, placerat vel velit. Nulla pellentesque libero sed tortor ullamcorper dapibus nec sed nunc. Sed vel neque tempus, dapibus turpis a, dignissim neque. Cras iaculis nibh eros, nec iaculis purus viverra non. """, published=True) article.front_page = True db.session.add(article) article.render_html() try: db.session.commit() except: db.session.rollback() raise article = Article("Hudson Hits Another Buzzer Beater in Hokies Win", 'hudson-hits-another-buzzer-beater-in-hokies-win', 1, 1, """\ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sed blandit felis. Suspendisse massa tellus, congue volutpat sapien eu, imperdiet commodo massa. Donec quis gravida mi. Suspendisse tempor ligula mauris, non consequat diam auctor id. Nullam mattis sed urna vitae vestibulum. Donec eros mi, placerat congue dolor vel, accumsan aliquet orci. Suspendisse potenti. Donec nec sollicitudin leo, id vulputate ipsum. In pellentesque maximus sapien, sit amet viverra lorem sollicitudin ut. Phasellus tincidunt ultricies sapien in tincidunt. Integer justo metus, dictum et imperdiet sed, mollis ultricies libero. Sed eleifend ut quam eget ullamcorper. Pellentesque ipsum sem, cursus vitae massa quis, condimentum rutrum mauris. Donec ornare pretium nunc vitae pretium. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In in tristique felis, non ornare nisl. Ut suscipit sem nec ante mollis, a vehicula nisl finibus. Mauris nec risus blandit, bibendum diam in, porta leo. Proin rutrum risus eu mollis dapibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ac ante ac turpis lacinia molestie a sed quam. Proin condimentum ut massa in lobortis. Quisque et finibus dolor. Sed pharetra sodales congue. Pellentesque ullamcorper molestie finibus. Curabitur cursus mi ac odio hendrerit, ac venenatis quam molestie. Maecenas ante nisi, tincidunt nec molestie ut, dictum et dui. Cras vestibulum ipsum sed semper cursus. Sed vulputate sit amet neque nec lacinia. Cras sit amet nunc sagittis nisi faucibus hendrerit. In ex urna, gravida vel nisl a, cursus vestibulum erat. Suspendisse orci dui, elementum in dolor ut, feugiat scelerisque eros. Nullam malesuada nulla at porta convallis. Proin gravida libero eu ultricies viverra. Nulla accumsan, metus a mattis malesuada, enim libero lacinia tellus, vel commodo ipsum turpis eget sem. Donec ac augue non felis euismod iaculis. Vivamus fringilla rutrum magna eget viverra. Etiam vitae velit nunc. Integer semper venenatis pharetra. Integer ullamcorper justo elit, non pulvinar libero tristique a. Nam vel efficitur urna. Quisque leo ex, fermentum at volutpat eu, venenatis condimentum leo. Quisque faucibus odio sed elit sodales, at sagittis lectus iaculis. Suspendisse vestibulum maximus justo, id vulputate ante. Morbi rutrum sollicitudin augue eget hendrerit. Cras lacinia, purus a pulvinar consectetur, velit sem condimentum massa, id faucibus risus orci eget quam. Nulla efficitur pulvinar metus nec luctus. Curabitur dolor ipsum, blandit ac ex nec, ultricies egestas orci. Sed tempor facilisis enim, in vehicula velit ornare a. Quisque non metus odio. """, published=True) article.front_page = True db.session.add(article) article.render_html() try: db.session.commit() except: db.session.rollback() raise
def add_sample_articles(): article = Article("Cloud Nothings Prize Pack Giveaway", 'cloud-nothings-prize-pack-giveaway', 1, 1, """\ ![I dont even know what this is](/static/img/article_pic.png) Yolo ipsum ratione commodi repellendus minus and so I did, but that was last month quidem. Illo enim libero aperiam impedit distinctio aliquid. Praesentium incidunt sunt asperiores magni dealing with a heart that I didn't break blanditiis. Voluptatum dolore aut nulla quidem and I wish she wasn't married. Odit rest in peace mac dre, I'mma do it for the bay, okay accusamus alias illo hic minima. Cupiditate atque nam sit quae ducimus quia sint. Qui what you bothering me for? dignissimos hell yeah, hell yeah qui libero If you hurt, I don't tell you. Provident distinctio nostrum soluta accusantium voluptates. ## Yolo ipsum Cupiditate iste beatae f****n' right, all right ipsam sint. Non dolorem blanditiis facere neque excepturi amet. Id illo non officia placeat velit distinctio. Vero perspiciatis animi qui quisquam eum. Consequatur aut nemo est optio placeat. Ut illum at impedit ut repellat. Quia est et nobis labore then right after texting I told her I'm faded damn right, all right. Mollitia molestias quis one time, been in love one time voluptatem aut maxime molestiae. Officia et qui I'm in the building and I'm feeling myself I've had mine, you've had yours we both know quia cumque we all have our nights though, don't be so ashamed. Vero similique ab exercitationem ipsam blanditiis vitae vitae. Quis aliquid ea It's women to call ex voluptas aperiam. Incidunt consequatur culpa autem listen, listen, whoa, yeah, listen, ooooh consequuntur ut quis. We all have our nights though, don't be so ashamed impedit ab officiis autem odit you hate the fact that you bought the dream. """, published=True) article.front_page = True db.session.add(article) article.render_html() try: db.session.commit() except: db.session.rollback() raise article = Article("Hudson Hits Another Buzzer Beater in Hokies Win", 'hudson-hits-another-buzzer-beater-in-hokies-win', 1, 1, """\ Yolo ipsum rerum est delectus cumque aliquam quia aliquid. I'm f****d up, torn down officiis accusamus repudiandae harum sint quas. Suscipit eligendi quasi vel veritatis enim est. Tenetur autem consequuntur sint aut soluta nostrum. Nesciunt laboriosam voluptas repellat nemo repellendus aut. One time, been in love one time quo I keep thinking you just don't know corrupti quo numquam recusandae. That she only see when she feels obligated quo recusandae nisi they loving the crew enim aliquid aut. Ipsa quisquam doloribus accusamus explicabo est voluptatem. Dignissimos quam omnis in autem id excepturi. Possimus molestiae fuga tell uncle luke I'm out in miami too fugiat obcaecati ipsam. Blanditiis non we eat each other whenever we at the dinner table et voluptatum possimus. If you let me, here's what I'll do error obcaecati It's cause we blowing like a c4 ut autem suscipit. Ipsam nostrum inventore unde est culpa est voluptas. Libero they loving the crew laudantium minima ut possimus soluta. Enim autem et atque nulla like we sittin' on the bench, n***a we don't really play quae (and we say) hell yeah. Est aperiam quo quisquam quis eos et. Id minima iusto voluptas laborum sequi quia et. Aliquid facilis a laudantium the realest n****s say 'your lyrics do shit for me' et sit ad. Qui I've loved and I've lost quae ipsa id even though it's f****d up, girl, I'm still f*****g wit ya quis. Odit voluptate energizer bunny omnis vero numquam est. Quia placeat go uptown, new york city biiitch oh, they lovin the crew but my mind didn't change you won't ever have to hide qui. """, published=True) article.front_page = True db.session.add(article) article.render_html() try: db.session.commit() except: db.session.rollback() raise
def article_add(): error_fields = [] # article = Article() if request.method == 'POST': # Title title = request.form.get('title', "").strip() if len(title) <= 0: error_fields.append('title') # Slug slug = request.form.get('slug', "") if slug != "": slug = slugify(slug) if len(slug) <= 0 or slug is None: error_fields.append('slug') elif len(slug) <= 0 and len(title) > 0: slug = slugify(title) # author_id author_id = request.form['author_id'].strip() if User.query.filter_by(id=author_id).count() != 1: error_fields.append('author_id') # Category_id category_id = request.form['category_id'].strip() if Category.query.filter_by(id=category_id).count() != 1: error_fields.append('category_id') # datetime (should update to published time) published = request.form.get('published', False) if published is not False: published = True # front page front_page = request.form.get('front_page', False) if front_page is not False: front_page = True # summary summary = request.form.get('summary', "").strip() content = request.form.get('content', "").strip() if len(error_fields) <= 0: # ensure slug is unique, add - until it is while Article.query.filter_by(slug=slug).count() > 0: slug += '-' article = Article(title, slug, category_id, author_id, summary, content, published) # Why can't we just have a parameterless constructor so we don't # have to add constructors for each new field article.front_page = front_page if article.published is True: article.datetime = datetime.datetime.now() db.session.add(article) article.render_html() # markdown to html db.session.commit() flash("Article Saved") return redirect(url_for('admin.articles')) categories = Category.query.all() authors = User.query.all() return render_template('admin/article_add.html', categories=categories, authors=authors, error_fields=error_fields)