def update_article(db_session, article): try: summary = article["summary"].strip( ) if article["summary"] else None if not summary: summary = ArticleService.get_core_content( article["content"], ArticleService.SUMMARY_LIMIT) article_to_update = ArticleService.get_article_all( db_session, article["id"]) article_old = Article( title=article_to_update.title, content=article_to_update.content, summary=article_to_update.summary, articleType_id=article_to_update.articleType_id, source_id=article_to_update.source_id) article_to_update.title = article["title"] article_to_update.content = article["content"] article_to_update.summary = summary article_to_update.articleType_id = int( article["articleType_id"] ) if article["articleType_id"] else None article_to_update.source_id = int( article["source_id"]) if article["source_id"] else None db_session.commit() return article_to_update, article_old except Exception, e: logger.exception(e)
def post(self): title = self.get_argument('title') author = self.get_argument('author') description = self.get_argument('description') content = self.get_argument('content') article = Article.create(title=title, author=author, description=description, content=content) article.save() self.redirect('/manage')
def add_article(): """添加新的物品 通过计算物总数,得到当前新增物品的排序编号. :return 返回最新物品列表 """ sorting = Article.query.count() name = request.args.get('NewProductName') Article(name=name, sorting=sorting).direct_commit_() return article_name()
def submit_get(self): article_draft = self.session.pop(session_keys['article_draft'], None) article = None if article_draft: source_id = article_draft.get("source_id") type_id = article_draft.get("articleType_id") article = Article(source_id=int(source_id) if source_id else None, title=article_draft.get("title"), articleType_id=int(type_id) if type_id else None, content=article_draft.get("content"), summary=article_draft.get("summary")) article_types = yield self.async_do(ArticleTypeService.list_simple, self.db) self.render("admin/submit_articles.html", article_types=article_types, article=article)
def add_article(db_session, article): try: summary = article["summary"].strip() if article["summary"] else None if not summary: summary = ArticleService.get_core_content(article["content"], ArticleService.SUMMARY_LIMIT) article_to_add = Article(title=article["title"], content=article["content"], summary=summary, articleType_id=article["articleType_id"], source_id=article["source_id"]) db_session.add(article_to_add) db_session.commit() return article_to_add except Exception, e: logger.exception(e)
def CrawlArt2ProductArt(crawl_article, ran_url): pt_article = Article() pt_article.aurl = ran_url pt_article.atitle = crawl_article.btitle pt_article.aauthor = crawl_article.bauthor pt_article.acontent = crawl_article.bcontent pt_article.asource = crawl_article.bsource return pt_article
def post(self): id = self.get_argument('id') title = self.get_argument('title') author = self.get_argument('author') description = self.get_argument('description') content = self.get_argument('content') article = Article.get(Article.id == id) article.title = title article.author = author article.description = description article.content = content article.save() self.redirect('/manage')
async def submit_get(self): # 草稿 article_draft = self.session.pop(session_keys['article_draft'], None) article = None if article_draft: source_id = article_draft.get("source_id") type_id = article_draft.get("articleType_id") article = Article(source_id=int(source_id) if source_id else None, title=article_draft.get("title"), articleType_id=int(type_id) if type_id else None, content=article_draft.get("content"), summary=article_draft.get("summary")) article_types = await self.loop_current.run_in_executor( self.thread_executor, ArticleTypeService.list_simple, self.db) self.render("admin/submit_articles.html", article_types=article_types, article=article)
def get(self): articles = Article.select() self.render("article/index.html", articles=articles)
def get(self): id = self.get_argument('id') article = Article.get(Article.id == id) self.render("article/show.html", article=article)
def get(self): key = self.get_argument('key') articles = Article.select().where(Article.title.contains(key)) self.render("article/index.html", articles=articles)
def get(self): id = self.get_argument('id') article = Article.get(Article.id == id) article.delete_instance() self.redirect('/manage')
def get(self): articles = Article.select().order_by(Article.id.desc()) self.render("article/manage.html", articles=articles)
def add_article_to_db(article_data): issue_obj = article_data['issue_obj'] rubric_obj = article_data['rubric_obj'] article_obj = Article( issue=issue_obj, rubric=rubric_obj, file_name=article_data["file_name"], ) article_obj.save() article_locale_obj = Article_Locale( lang_code=lng_code_ukr, caption=article_data["caption_uk"], abstract=article_data["abstract_uk"], article=article_obj, ) article_locale_obj.save() article_locale_obj = Article_Locale( lang_code=lng_code_en, caption=article_data["caption_en"], abstract=article_data["abstract_en"], article=article_obj, ) article_locale_obj.save() for j, ((last_uk, first_uk, middle_uk), (last_en, first_en, middle_en)) \ in enumerate(zip(article_data["author_uk"], article_data["author_en"])): author_obj_lst = Author.objects.filter( author_locale__lang_code__iexact = lng_code_ukr, author_locale__first_name__iexact = first_uk, author_locale__middle_name__iexact = middle_uk, author_locale__last_name__iexact = last_uk).\ filter( author_locale__lang_code__iexact = lng_code_en, author_locale__first_name__iexact = first_en, author_locale__middle_name__iexact = middle_en, author_locale__last_name__iexact = last_en) if len(author_obj_lst) == 1: author_obj = author_obj_lst[0] elif len(author_obj_lst) == 0: author_obj = Author.objects.create() Author_Locale.objects.create(lang_code=lng_code_ukr, author=author_obj, first_name=first_uk, middle_name=middle_uk, last_name=last_uk) Author_Locale.objects.create(lang_code=lng_code_en, author=author_obj, first_name=first_en, middle_name=middle_en, last_name=last_en) else: # TODO: raise exception and show error message: database integrity violation or log and send email author_obj = author_obj_lst[0] m = Article_Authors(article=article_obj, author=author_obj, author_order=j + 1) m.save()
def add_article_to_db(article_data): issue_obj = article_data['issue_obj'] rubric_obj = article_data['rubric_obj'] article_obj = Article(issue = issue_obj, rubric = rubric_obj, file_name = article_data["file_name"], ) article_obj.save() article_locale_obj = Article_Locale(lang_code = lng_code_ukr, caption = article_data["caption_uk"], abstract = article_data["abstract_uk"], article = article_obj, ) article_locale_obj.save() article_locale_obj = Article_Locale(lang_code = lng_code_en, caption = article_data["caption_en"], abstract = article_data["abstract_en"], article = article_obj, ) article_locale_obj.save() for j, ((last_uk, first_uk, middle_uk), (last_en, first_en, middle_en)) \ in enumerate(zip(article_data["author_uk"], article_data["author_en"])): author_obj_lst = Author.objects.filter( author_locale__lang_code__iexact = lng_code_ukr, author_locale__first_name__iexact = first_uk, author_locale__middle_name__iexact = middle_uk, author_locale__last_name__iexact = last_uk).\ filter( author_locale__lang_code__iexact = lng_code_en, author_locale__first_name__iexact = first_en, author_locale__middle_name__iexact = middle_en, author_locale__last_name__iexact = last_en) if len(author_obj_lst) == 1: author_obj = author_obj_lst[0] elif len(author_obj_lst) == 0: author_obj = Author.objects.create() Author_Locale.objects.create( lang_code = lng_code_ukr, author = author_obj, first_name = first_uk, middle_name = middle_uk, last_name = last_uk) Author_Locale.objects.create( lang_code = lng_code_en, author = author_obj, first_name = first_en, middle_name = middle_en, last_name = last_en) else: # TODO: raise exception and show error message: database integrity violation or log and send email author_obj = author_obj_lst[0] m = Article_Authors(article = article_obj, author = author_obj, author_order = j + 1) m.save()
def json_to_articles(path): for line in open(path, "r"): if line: params = json.loads(line) yield Article(**params["result"])