~dooferlad/+junk/license_protection_2

« back to all changes in this revision

Viewing changes to license_protected_downloads/views.py

  • Committer: James Tunnicliffe
  • Date: 2012-06-22 10:28:59 UTC
  • Revision ID: james.tunnicliffe@linaro.org-20120622102859-5oz9zlkxeyjn9qf1
Fixed up accepting a license for a file and being redirected to it on accept

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Create your views here.
2
2
 
3
 
from django.http import HttpResponse
 
3
from django.http import HttpResponse, HttpResponseRedirect
4
4
from django.conf import settings
5
5
from django.shortcuts import render_to_response, redirect
6
6
import os.path
13
13
import hashlib
14
14
from mimetypes import guess_type
15
15
from models import License
 
16
from django.template import RequestContext
16
17
 
17
18
def dir_list(path):
18
19
    files = os.listdir(path)
77
78
def license_accepted(request, digest):
78
79
    return 'license_accepted_' + digest in request.COOKIES
79
80
 
 
81
def accept_license(request):
 
82
    lic = License.objects.filter(digest=request.GET['lic']).get()
 
83
    response = HttpResponseRedirect(request.GET['url'])
 
84
    d = lic.digest
 
85
    cookie_name = "license_accepted_" + d.encode("ascii")
 
86
    response.set_cookie(cookie_name)
 
87
    return response
 
88
 
80
89
def show_license(request):
81
90
    lic = License.objects.filter(digest=request.GET['lic']).get()
82
91
 
83
 
    response = HttpResponse("Some licenses..." +
84
 
                            request.GET['lic'] + " " +
85
 
                            request.GET['url'] + lic.text)
86
 
    return response
 
92
    return render_to_response('license.html',
 
93
                              {'license': lic,
 
94
                               'url': request.GET['url']},
 
95
                              context_instance=RequestContext(request))
 
96
 
87
97
 
88
98
def file_server(request, path):
 
99
    url = path
89
100
    result = test_path(path)
90
101
    if not result:
91
102
        raise Http404
107
118
        if not license_accepted(request, digest):
108
119
            #response = HttpResponse("Accepting some licenses...")
109
120
            #response.set_cookie("license_accepted_" + digest)
110
 
            response = redirect('/license?lic=' + digest + "&url=" + path)
 
121
            response = redirect('/license?lic=' + digest + "&url=" + url)
111
122
 
112
123
    if not response:
113
124
        response = HttpResponse(mimetype='application/force-download')