Exemplo n.º 1
0
def single_author(author_abbr):
	author = Author.get_author_by_abbr(author_abbr)

	if not author:
		abort(404)
	
	quote = Quote.get_quote_by_random(author['AuthorID'])
	quotes_num = Quote.get_quotes_num_by_author(author['AuthorID'])

	collections = Collection.get_collections_by_author(author['AuthorID'])

	works = Work.get_works_by_author(author['AuthorID'])
	for work in works:
		work['Content'] = content_clean(work['Content'])

	# count num of different type work.
	# return like this - works_num['shi'] = {'type_name': '诗', 'num': 0}.
	work_types = Work.get_types()
	works_num = {}
	for wt in work_types:
		works_num[wt['WorkType']] = {'type_name': wt['TypeName'], 'num': 0}
	for work in works:
		work_type = work['Type']  
		works_num[work_type]['num'] += 1

	return render_template('single_author.html', author=author, quote=quote, quotes_num=quotes_num, collections=collections, works=works, works_num=works_num)
Exemplo n.º 2
0
def single_author(author_abbr):
	author = Author.get_author_by_abbr(author_abbr)
	if not author:
		abort(404)
	
	# if 'q' in form.args, then display it,
	# otherwise, display a random quote
	if 'q' in request.args:
		q_id = int(request.args['q'])
		quote = Quote.get_quote_by_id(q_id)
	else:
		quote = Quote.get_quote_by_random(author['AuthorID'])
	
	quotes_num = Quote.get_quotes_num_by_author(author['AuthorID'])

	works = Work.get_works_by_author(author['AuthorID'])
	for work in works:
		work['Content'] = content_clean(work['Content'])

	# count num of different type work.
	# return like this - works_num['shi'] = {'type_name': '诗', 'num': 0}.
	work_types = Work.get_types()
	works_num = {}
	for wt in work_types:
		works_num[wt['WorkType']] = {'type_name': wt['TypeName'], 'num': 0}
	for work in works:
		work_type = work['Type']  
		works_num[work_type]['num'] += 1

	return render_template('author/single_author.html', author=author, quote=quote, quotes_num=quotes_num, works=works, works_num=works_num)
Exemplo n.º 3
0
def single_author(author_abbr):
    author = Author.get_author_by_abbr(author_abbr)

    if not author:
        abort(404)

    quote = Quote.get_quote_by_random(author['AuthorID'])
    quotes_num = Quote.get_quotes_num_by_author(author['AuthorID'])

    collections = Collection.get_collections_by_author(author['AuthorID'])

    works = Work.get_works_by_author(author['AuthorID'])
    for work in works:
        work['Content'] = content_clean(work['Content'])

    # count num of different type work.
    # return like this - works_num['shi'] = {'type_name': '诗', 'num': 0}.
    work_types = Work.get_types()
    works_num = {}
    for wt in work_types:
        works_num[wt['WorkType']] = {'type_name': wt['TypeName'], 'num': 0}
    for work in works:
        work_type = work['Type']
        works_num[work_type]['num'] += 1

    return render_template('single_author.html',
                           author=author,
                           quote=quote,
                           quotes_num=quotes_num,
                           collections=collections,
                           works=works,
                           works_num=works_num)
Exemplo n.º 4
0
def single_author(author_abbr):
    author = Author.get_author_by_abbr(author_abbr)
    if not author:
        abort(404)

    # if 'q' in form.args, then display it,
    # otherwise, display a random quote
    if 'q' in request.args:
        q_id = int(request.args['q'])
        quote = Quote.get_quote_by_id(q_id)
    else:
        quote = Quote.get_quote_by_random(author['AuthorID'])

    quotes_num = Quote.get_quotes_num_by_author(author['AuthorID'])

    works = Work.get_works_by_author(author['AuthorID'])
    for work in works:
        work['Content'] = content_clean(work['Content'])

    # count num of different type work.
    # return like this - works_num['shi'] = {'type_name': '诗', 'num': 0}.
    work_types = Work.get_types()
    works_num = {}
    for wt in work_types:
        works_num[wt['WorkType']] = {'type_name': wt['TypeName'], 'num': 0}
    for work in works:
        work_type = work['Type']
        works_num[work_type]['num'] += 1

    return render_template('author/single_author.html',
                           author=author,
                           quote=quote,
                           quotes_num=quotes_num,
                           works=works,
                           works_num=works_num)
Exemplo n.º 5
0
def authors():
	dynasties = Dynasty.get_dynasties()
	for d in dynasties:
		d['authors'] = Author.get_authors_by_dynasty(d['DynastyID'])
		for a in d['authors']:
			quote = Quote.get_quote_by_random(a['AuthorID'])
			a['Quote'] = quote['Quote'] if quote else ""
			a['QuotesNum'] = Quote.get_quotes_num_by_author(a['AuthorID'])

	hot_authors = Author.get_hot_authors(8)
	for a in hot_authors:
		quote = Quote.get_quote_by_random(a['AuthorID'])
		a['Quote'] = quote['Quote'] if quote else ""

	return render_template('authors.html', dynasties=dynasties, hot_authors=hot_authors)
Exemplo n.º 6
0
def authors():
    dynasties = Dynasty.get_dynasties()
    for d in dynasties:
        d['authors'] = Author.get_authors_by_dynasty(d['DynastyID'])
        for a in d['authors']:
            quote = Quote.get_quote_by_random(a['AuthorID'])
            a['Quote'] = quote['Quote'] if quote else ""
            a['QuotesNum'] = Quote.get_quotes_num_by_author(a['AuthorID'])

    hot_authors = Author.get_hot_authors(8)
    for a in hot_authors:
        quote = Quote.get_quote_by_random(a['AuthorID'])
        a['Quote'] = quote['Quote'] if quote else ""

    return render_template('authors.html',
                           dynasties=dynasties,
                           hot_authors=hot_authors)