示例#1
0
def add_widget():
	target_type = request.form['target_type']
	target_id   = int(request.form['target_id'])
	title       = request.form['title']
	content     = request.form['content']
	index       = int(request.form['index'])

	Widget.add_widget(target_type, target_id, title, content, index)
	return redirect(url_for('admin_widgets', target_type=target_type, target_id=target_id))
示例#2
0
def add_widget():
    target_type = request.form['target_type']
    target_id = int(request.form['target_id'])
    title = request.form['title']
    content = request.form['content']
    index = int(request.form['index'])

    Widget.add_widget(target_type, target_id, title, content, index)
    return redirect(
        url_for('admin_widgets', target_type=target_type, target_id=target_id))
示例#3
0
def edit_widget(widget_id):
	if request.method == 'GET':
		widget = Widget.get_widget(widget_id)
		return render_template('edit_widget.html', widget=widget)
	elif request.method == 'POST':
		target_type = request.form['target_type']
		target_id   = int(request.form['target_id'])		
		title       = request.form['title']
		content     = request.form['content']
		index       = int(request.form['index'])

		Widget.edit_widget(widget_id, title, content, index)
		return redirect(url_for('admin_widgets', target_type=target_type, target_id=target_id))
示例#4
0
def single_work(work_id):
	work = Work.get_work(work_id)
	# add comment
	work['Content'] = re.sub(r'<([^<^b]+)>', r"<sup title='\1'></sup>", work['Content'])
	work['Content'] = work['Content'].replace('%', "&nbsp;&nbsp;")

	# count the geci's padding left
	if work['Type'] == "geci":
		paras = work['Content'].split('/')[0].split('\r\n\r\n')
		total_word_len = 0
		total_row_num = 0
		for para in paras:
			if len(para) != 0:
				total_word_len += len(para)
				total_row_num += 1
		geci_padding_left = (36 - total_word_len / total_row_num) / 2 + 1
	else:
		geci_padding_left = '0'

	# gene paragraph
	work['Content'] = markdown2.markdown(work['Content'])

	# add bank row
	work['Content'] = work['Content'].replace('<p>/</p>', "<div class='bank'></div>")

	reviews = Review.get_reviews_by_work(work_id)
	
	widgets = Widget.get_widgets('work', work_id)

	# check is loved
	if 'user_id' in session:
		is_loved = Love.check_love(session['user_id'], work_id)
	else:
		is_loved = False
	return render_template('single_work.html', work=work, reviews=reviews, widgets=widgets, is_loved=is_loved, geci_padding_left=geci_padding_left)
示例#5
0
def edit_widget(widget_id):
    if request.method == 'GET':
        widget = Widget.get_widget(widget_id)
        return render_template('edit_widget.html', widget=widget)
    elif request.method == 'POST':
        target_type = request.form['target_type']
        target_id = int(request.form['target_id'])
        title = request.form['title']
        content = request.form['content']
        index = int(request.form['index'])

        Widget.edit_widget(widget_id, title, content, index)
        return redirect(
            url_for('admin_widgets',
                    target_type=target_type,
                    target_id=target_id))
示例#6
0
def admin_widgets(target_type, target_id):
    check_admin()

    widgets = Widget.get_widgets(target_type, target_id)
    return render_template('admin_widgets.html',
                           target_type=target_type,
                           target_id=target_id,
                           widgets=widgets)
示例#7
0
def single_work(work_id):
    work = Work.get_work(work_id)

    if not work:
        abort(404)

    # add comment, split ci, gene paragraph
    work['Content'] = re.sub(r'<([^<^b]+)>', r"<sup title='\1'></sup>",
                             work['Content'])
    work['Content'] = work['Content'].replace('%', "&nbsp;&nbsp;")
    work['Content'] = markdown2.markdown(work['Content'])

    # check is loved
    if 'user_id' in session:
        is_loved = Love_work.check_love(session['user_id'], work_id)
        tags = Love_work.get_tags(session['user_id'],
                                  work_id) if is_loved else ""
        my_tags = Tag.get_user_tags(session['user_id'], 20)
        popular_tags = Tag.get_work_tags(work_id, 20)
    else:
        is_loved = False
        tags = ""
        my_tags = []
        popular_tags = []

    reviews = Review.get_reviews_by_work(work_id)
    for r in reviews:
        r['Time'] = time_diff(r['Time'])

    widgets = Widget.get_widgets('work', work_id)

    product = Product.get_product_by_random()

    other_works = Work.get_other_works_by_author(work['AuthorID'], work_id, 5)
    for ow in other_works:
        ow['Content'] = content_clean(ow['Content'])

    lovers = Love_work.get_users_by_work(work_id, 4)

    return render_template('single_work.html',
                           work=work,
                           tags=tags,
                           my_tags=my_tags,
                           popular_tags=popular_tags,
                           reviews=reviews,
                           widgets=widgets,
                           is_loved=is_loved,
                           product=product,
                           other_works=other_works,
                           lovers=lovers)
示例#8
0
def single_work(work_id):
    work = Work.get_work(work_id)
    # add comment
    work['Content'] = re.sub(r'<([^<^b]+)>', r"<sup title='\1'></sup>",
                             work['Content'])
    work['Content'] = work['Content'].replace('%', "&nbsp;&nbsp;")

    # count the geci's padding left
    if work['Type'] == "geci":
        paras = work['Content'].split('/')[0].split('\r\n\r\n')
        total_word_len = 0
        total_row_num = 0
        for para in paras:
            if len(para) != 0:
                total_word_len += len(para)
                total_row_num += 1
        geci_padding_left = (36 - total_word_len / total_row_num) / 2 + 1
    else:
        geci_padding_left = '0'

    # gene paragraph
    work['Content'] = markdown2.markdown(work['Content'])

    # add bank row
    work['Content'] = work['Content'].replace('<p>/</p>',
                                              "<div class='bank'></div>")

    reviews = Review.get_reviews_by_work(work_id)

    widgets = Widget.get_widgets('work', work_id)

    # check is loved
    if 'user_id' in session:
        is_loved = Love.check_love(session['user_id'], work_id)
    else:
        is_loved = False
    return render_template('single_work.html',
                           work=work,
                           reviews=reviews,
                           widgets=widgets,
                           is_loved=is_loved,
                           geci_padding_left=geci_padding_left)
示例#9
0
def single_work(work_id):
	work = Work.get_work(work_id)

	if not work:
		abort(404)

	# add comment, split ci, gene paragraph
	work['Content'] = re.sub(r'<([^<^b]+)>', r"<sup title='\1'></sup>", work['Content'])
	work['Content'] = work['Content'].replace('%', "&nbsp;&nbsp;")
	work['Content'] = markdown2.markdown(work['Content'])

	# check is loved
	if 'user_id' in session:
		is_loved = Love_work.check_love(session['user_id'], work_id)
		tags = Love_work.get_tags(session['user_id'], work_id) if is_loved else ""
		my_tags = Tag.get_user_tags(session['user_id'], 20)
		popular_tags = Tag.get_work_tags(work_id, 20)
	else:
		is_loved = False
		tags = ""
		my_tags = []
		popular_tags = []

	reviews = Review.get_reviews_by_work(work_id)
	for r in reviews:
		r['Time'] = time_diff(r['Time'])

	widgets = Widget.get_widgets('work', work_id)

	product = Product.get_product_by_random()

	other_works = Work.get_other_works_by_author(work['AuthorID'], work_id, 5)
	for ow in other_works:
		ow['Content'] = content_clean(ow['Content'])

	lovers = Love_work.get_users_by_work(work_id, 4)

	return render_template('single_work.html', work=work, tags=tags, my_tags=my_tags, popular_tags=popular_tags, reviews=reviews, widgets=widgets, is_loved=is_loved, product=product, other_works=other_works, lovers=lovers)
示例#10
0
def admin_widgets(target_type, target_id):
	widgets = Widget.get_widgets(target_type, target_id)
	return render_template('admin_widgets.html', target_type=target_type, target_id=target_id, widgets=widgets)