def new_poem(request): user = request.user if request.user.is_authenticated() else None text = Poem.write() p = Poem(slug=get_random_hash(text), text=text, created_by=user) p.save() return render_to_response('lesmianator/poem.html', {"poem": p}, context_instance=RequestContext(request))
def poem_from_book(request, slug): book = get_object_or_404(Book, slug=slug) user = request.user if request.user.is_authenticated() else None text = Poem.write(Continuations.get(book)) p = Poem(slug=get_random_hash(text), text=text, created_by=user) p.created_from = [book.id] p.save() return render_to_response('lesmianator/poem.html', {"poem": p, "books": [book], "book": book}, context_instance=RequestContext(request))
def poem_from_set(request, shelf): user = request.user if request.user.is_authenticated() else None tag = get_object_or_404(Tag, category='set', slug=shelf) text = Poem.write(Continuations.get(tag)) p = Poem(slug=get_random_hash(text), text=text, created_by=user) books = Book.tagged.with_any((tag,)) p.created_from = [b.id for b in books] p.save() book = books[0] if len(books) == 1 else None return render_to_response('lesmianator/poem.html', {"poem": p, "shelf": tag, "books": books, "book": book}, context_instance=RequestContext(request))