예제 #1
0
def f_search():
    f_name = request.args.get('f_name')
    print('收到输入:', f_name)
    # 1.查询数据库存在记录
    fictions = Fiction().query.all()
    fiction = None
    for x in fictions:
        if f_name in x.fiction_name:
            fiction = x
            break

    if fiction:
        fiction_lst = Fiction_Lst().query.filter_by(
            fiction_id=fiction.fiction_id).all()
        if len(fiction_lst) == 0:
            down_fiction_lst(f_name)
            fictions = Fiction().query.all()
            print('fictions=', fictions)
            for fiction in fictions:
                if f_name in fiction.fiction_name:
                    break

            if f_name not in fiction.fiction_name:
                return render_template('fiction_error.html', message='暂无此小说信息')

            fiction_lst = Fiction_Lst().query.filter_by(
                fiction_id=fiction.fiction_id).all()
            return render_template(
                'fiction_lst.html',
                fictions=fictions,
                fiction=fiction,
                fiction_lst=fiction_lst,
                fiction_name=fiction.fiction_name)
        else:
            fiction_name = fiction_lst[0].fiction_name
            return render_template(
                'fiction_lst.html',
                fictions=fictions,
                fiction=fiction,
                fiction_lst=fiction_lst,
                fiction_name=fiction_name)
    else:
        down_fiction_lst(f_name)
        fictions = Fiction().query.all()
        print('fictions=', fictions)
        for fiction in fictions:
            if f_name in fiction.fiction_name:
                break

        if f_name not in fiction.fiction_name:
            return render_template('fiction_error.html', message='暂无此小说信息')

        fiction_lst = Fiction_Lst().query.filter_by(
            fiction_id=fiction.fiction_id).all()
        return render_template(
            'fiction_lst.html',
            fictions=fictions,
            fiction=fiction,
            fiction_lst=fiction_lst,
            fiction_name=fiction.fiction_name)
예제 #2
0
def update_fiction(fiction_id, update_time, new_content, new_url):
    fiction = Fiction().query.filter_by(fiction_id=fiction_id).first()
    fiction.update = update_time
    fiction.new_content = new_content
    fiction.new_url = new_url
    db.session.add(fiction)
    db.session.commit()
예제 #3
0
def insert_fiction(fiction_name, fiction_id, fiction_real_url, fiction_img,
                   fiction_author, fiction_comment):
    fiction = Fiction().query.filter_by(fiction_id=fiction_id).first()
    if fiction is None:
        fiction = Fiction(fiction_name=fiction_name,
                          fiction_id=fiction_id,
                          fiction_real_url=fiction_real_url,
                          fiction_img=fiction_img,
                          fiction_author=fiction_author,
                          fiction_comment=fiction_comment)
        db.session.add(fiction)
        db.session.commit()
    else:
        print('记录已存在,无需下载')
예제 #4
0
def book_lst(f_id):
    # 1.获取全部小说
    fictions = Fiction().query.all()

    for fiction in fictions:
        if fiction.fiction_id == f_id:
            break
    print(fiction)
    # 2.获取小说章节列表
    fiction_lst = Fiction_Lst().query.filter_by(fiction_id=f_id).all()
    if len(fiction_lst) == 0:
        print(fiction.fiction_name)
        down_fiction_lst(fiction.fiction_name)
        fiction_lst = Fiction_Lst().query.filter_by(fiction_id=f_id).all()
        if len(fiction_lst) == 0:
            return render_template(
                'fiction_error.html', message='暂无此章节信息,请重新刷新下')

    fiction_name = fiction_lst[0].fiction_name
    return render_template(
        'fiction_lst.html',
        fictions=fictions,
        fiction=fiction,
        fiction_lst=fiction_lst,
        fiction_name=fiction_name)
예제 #5
0
def save_fiction_lst(fiction_lst):
    total = len(fiction_lst)
    if Fiction().query.filter_by(fiction_id=fiction_lst[0][1]) == total:
        print('此小说已存在!!,无需下载')
        return 1
    for item in fiction_lst:
        insert_fiction_lst(*item)
예제 #6
0
def insert_Fiction(author, fic_name, fic_id, fic_img, fic_comment, fic_source_url, new_content, new_url, update_time):
    fiction = Fiction(author=author,
                      fic_name=fic_name,
                      fic_id=fic_id,
                      fic_img=fic_img,
                      fic_comment=fic_comment,
                      fic_source_url=fic_source_url,
                      new_content=new_content,
                      new_url=new_url,
                      update_time=update_time
        )
    db.session.add(fiction)
    db.session.commit()
예제 #7
0
def book_index():
    fictions = Fiction().query.all()
    print(fictions)
    return render_template('fiction_index.html', fictions=fictions)
예제 #8
0
def edit_submission(obj_id):
    submission = Submission.query.filter_by(id=obj_id).first()
    form = SubmissionEditForm()
    if form.validate_on_submit():

        for field in form:
            current_app.logger.debug(f'{field.name}: {field.data}')
        comment = Comment(
            user_id=current_user.id,
            submission_id=submission.id,
            text=form.comment.data,
        )
        if form.approve.data == True:
            fiction = Fiction(
                title=submission.title,
                subtitle=submission.subtitle,
                synopsis=submission.synopsis,
                cover_img=submission.cover_img,
                banner_img=submission.banner_img,
                genres=submission.genres,
                tags=submission.tags,
                rating=submission.rating,
                words=submission.words,
                author_id=submission.author_id,
                status=submission.status,
                frequency=submission.frequency,
                approver_id=current_user.id,
                approval_date=datetime.utcnow(),
                updater_id=submission.updater_id,
            )

            submission.approval = True
            submission.approval_date = datetime.utcnow()
            submission.approver_id = current_user.id
            comment.text += " *Submission approved!*"
            flash("Submission approved!", "success")
            db.session.add(fiction)
            db.session.commit()
            submission.fiction_id = fiction.id
            for link in submission.links:
                new_link = Link(
                    url=link.url,
                    fiction_id=fiction.id,
                )
                db.session.add(new_link)
        else:
            submission.approval = False
            submission.approval_date = datetime.utcnow()
            submission.approver_id = current_user.id
            comment.text += " *Your submission was rejected.*"
            flash("Submission rejected. :(", "success")
        db.session.add(comment)
        db.session.commit()
        return redirect(url_for('admin.submissions'))

    form.comment.data = "Thanks for the submission!"
    return render_template(
        'admin/edit-submission.html',
        submission=submission,
        form=form,
    )