Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
	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')
Ejemplo n.º 3
0
def add_article():
    """添加新的物品
    通过计算物总数,得到当前新增物品的排序编号.
    :return 返回最新物品列表
    """
    sorting = Article.query.count()
    name = request.args.get('NewProductName')
    Article(name=name, sorting=sorting).direct_commit_()
    return article_name()
Ejemplo n.º 4
0
    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')
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
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
    
Ejemplo n.º 8
0
    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')
Ejemplo n.º 9
0
	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')
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
	def get(self):
		articles = Article.select()
		self.render("article/index.html", articles=articles)
Ejemplo n.º 12
0
 def get(self):
     id = self.get_argument('id')
     article = Article.get(Article.id == id)
     self.render("article/show.html", article=article)
Ejemplo n.º 13
0
    def get(self):
        key = self.get_argument('key')

        articles = Article.select().where(Article.title.contains(key))
        self.render("article/index.html", articles=articles)
Ejemplo n.º 14
0
    def get(self):
        id = self.get_argument('id')
        article = Article.get(Article.id == id)
        article.delete_instance()

        self.redirect('/manage')
Ejemplo n.º 15
0
 def get(self):
     articles = Article.select().order_by(Article.id.desc())
     self.render("article/manage.html", articles=articles)
Ejemplo n.º 16
0
	def get(self):
		articles = Article.select().order_by(Article.id.desc())
		self.render("article/manage.html", articles=articles)
Ejemplo n.º 17
0
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()
Ejemplo n.º 18
0
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()
Ejemplo n.º 19
0
 def get(self):
     id = self.get_argument('id')
     article = Article.get(Article.id == id)
     self.render("article/show.html", article=article)
Ejemplo n.º 20
0
    def get(self):
		key = self.get_argument('key')

		articles = Article.select().where(Article.title.contains(key))
		self.render("article/index.html", articles=articles)
Ejemplo n.º 21
0
	def get(self):
		id = self.get_argument('id')
		article = Article.get(Article.id == id)
		article.delete_instance()

		self.redirect('/manage')
Ejemplo n.º 22
0
def json_to_articles(path):
    for line in open(path, "r"):
        if line:
            params = json.loads(line)
            yield Article(**params["result"])
Ejemplo n.º 23
0
 def get(self):
     articles = Article.select()
     self.render("article/index.html", articles=articles)