Exemple #1
0
    def GET(self, id):
        db = NovelDB()
        novel = db.get_novel_info(id, cache=False)
        if novel is None or novel.status in (0, 100):
            raise web.notfound()
        db.incr_view_count(id)
        # 获得推荐小说
        rd_recommends = db.get_random_recommend(id=id)

        page = web.input(page=1).page
        page_count = db.get_novel_pageinfo(id)
        pager = Paginator(page_count, 1, page)
        try:
            novel_html = open(get_novel_html_path(id, pager.page), "r")
        except:
            return "内容还没准备好,稍等一会哦:)"

        # 访问twisted更新
        temp_date = novel.last_update_time.replace(tzinfo=None)
        if not pager.has_next() and novel.status not in (
                1, 3) and (datetime.datetime.now() - temp_date).seconds > 3600:
            start_work(id)
            novel = db.get_novel_info(id, cache=False)
        novel.tag = db.get_tags_by_id(id)
        novel.view_count = db.get_view_count(id)

        return render_to_response(
            "show_novel", {
                "novel_id": id,
                "novel": novel,
                "novel_html": novel_html,
                "pager": pager,
                "rd_recommends": rd_recommends,
            })
Exemple #2
0
    def GET(self, id):
        db = NovelDB()
        novel = db.get_novel_info(id, cache=False)
        if novel is None or novel.status in (0, 100):
            raise web.notfound()
        db.incr_view_count(id)
        # 获得推荐小说
        rd_recommends = db.get_random_recommend(id=id)
        
        page = web.input(page=1).page
        page_count = db.get_novel_pageinfo(id)
        pager = Paginator(page_count, 1, page)
        try:
            novel_html = open(get_novel_html_path(id, pager.page), "r")
        except:
            return "内容还没准备好,稍等一会哦:)"

        # 访问twisted更新
        temp_date = novel.last_update_time.replace(tzinfo=None)
        if not pager.has_next() and novel.status not in (1,3) and (datetime.datetime.now() - temp_date).seconds > 3600:
            start_work(id)
            novel = db.get_novel_info(id, cache=False)
        novel.tag = db.get_tags_by_id(id)
        novel.view_count = db.get_view_count(id)
        
        return render_to_response("show_novel", {
            "novel_id": id,
            "novel": novel,
            "novel_html": novel_html,
            "pager": pager,
            "rd_recommends": rd_recommends,
        })
Exemple #3
0
 def POST(self):
     args = web.input()
     args.url = get_real_url(args.url)
     args.type = get_type_by_url(args.url)
     #        args.email = args.email or "*****@*****.**"
     args.email = ""
     args.ip = self.ip
     db = NovelDB()
     ret = db.add_novel(args)
     if ret[0] is True:
         id = ret[1]
         start_work(id)
         return simplejson.dumps({"status": "ok", "id": id})
     else:
         return simplejson.dumps({"status": "error", "msg": "发生了错误,请稍候再试"})
    def POST(self):
        args = web.input()
        args.url = get_real_url(args.url)      
        args.type = get_type_by_url(args.url)
#        args.email = args.email or "*****@*****.**"
        args.email = ""
        args.ip = self.ip
        db = NovelDB()
        ret = db.add_novel(args)
        if ret[0] is True:
            id = ret[1]
            start_work(id)
            return simplejson.dumps({"status": "ok", "id": id})
        else:
            return simplejson.dumps({"status": "error", "msg": "发生了错误,请稍候再试"})