Пример #1
0
def discuss_paste(request,hash_key):
    """ Creates a new Paste, linking it with a previous one.
        In this way, Pastes may be enhanced and diffs can be performed
    """
    paste_discussed = get_object_or_404(Paste, hash_key=hash_key)
    update_last_view(paste_discussed)
    clean_pastes()
    form = PasteForm(instance=paste_discussed)
    language = paste_discussed.language
    private = paste_discussed.private
    
    if request.method == 'POST': 
        form = PasteForm(request.POST)
        if form.is_valid():
            tempPaste = form.save(commit=False)
            tempPaste.hash_key = tempPaste.hash()
            # recompute the hash key if there is a collision
            while (is_collision(tempPaste.hash_key)): 
                tempPaste.hash_key = tempPaste.hash()
            tempPaste.in_response_to = paste_discussed
            tempPaste.private = private
            tempPaste.save()
            return HttpResponseRedirect(tempPaste.get_absolute_url()) # visualize the Paste'''
    return render_to_response('discuss_paste.html', {
        'error_message': None,
        'paste_discussed': paste_discussed,
        'form': form,
    },context_instance=RequestContext(request))
Пример #2
0
def add_paste(request):
    """ Adds a new paste in the database
    """
    clean_pastes()
    if request.method == 'POST': # If the form has been submitted...
        form = PasteForm(request.POST) # creates a PasteForm object with the posted data
        if form.is_valid():
            tempPaste = form.save(commit=False)
            tempPaste.hash_key = tempPaste.hash()
            # recompute the hash key if there is a collision
            while (is_collision(tempPaste.hash_key)): 
                tempPaste.hash_key = tempPaste.hash()   
            tempPaste.save()
            remember_the_paste(request,tempPaste)
            return HttpResponseRedirect(tempPaste.get_absolute_url()) # visualize the Paste
    else:
        form = PasteForm() # A new form
    return render_to_response('paste_form.html', {
        'error_message': None,
        'form': form,
    },context_instance=RequestContext(request))