from base import *
from osgeo import osr

def user_redir(request, extra): 
    return HttpResponseRedirect("/ref/sr-org/%s" % extra)
        
def user_download(request, type):
    list = SRS.objects.filter(type=type).order_by('srs_id')
    response = HttpResponse()
    output = []
    for item in list:
        output.append("# %s" % item.title)
        srs = osr.SpatialReference(str(item.wkt))
        output.append("<%s> %s" % (item.srs_id, srs.ExportToProj4()))
    response.write('%s' % "\n".join(output))
    response['Content-length'] = str(len(response.content))
    response['Content-Type'] = "text/plain" 
    return response

def user_upload(request):
    recaptcha_failure = False
    if request.method == 'POST':
        check_captcha = captcha.submit( request.POST['recaptcha_challenge_field'], \
                                        request.POST['recaptcha_response_field'], \
                                        settings.RECAPTCHA_PRIVATE_KEY, \
                                        request.META['REMOTE_ADDR'])
        form = Upload(request.POST)
        if not check_captcha.is_valid:
          recaptcha_failure = True
        elif form.is_valid():
          form.save()
          #form.cleaned_data['creator'] = request.user
          form.instance.type="sr-org"
          form.instance.save()
          return HttpResponseRedirect('/ref/sr-org/%s/' % form.instance.srs_id) 
    else:
        form = Upload()
    return render_to_response('references/upload.html', {'form':form,'recaptcha_failure':recaptcha_failure} )   
