Esempio n. 1
0
def confirmDownload(request):

    if request.method == 'POST':
        form = DownloadForm(request.POST)  # instantiating form
        if form.is_valid():
            invConvertToFormats = form.cleaned_data[
                'Select_Invariant_conversion_format']  # Which form to convert to
            grConvertToFormats = form.cleaned_data[
                'Select_Graph_conversion_format']
            dataReturn = form.cleaned_data['Select_output_type']

            for fileFormat in invConvertToFormats:
                if fileFormat == '.mat':
                    convertTo.convertLCCNpyToMat(request.session['lccfn'])
                    convertTo.convertSVDNpyToMat(request.session['SVDfn'])

                # Conversion of all files
                for inv in request.session['invariant_fns'].keys():
                    if isinstance(request.session['invariant_fns'][inv],
                                  list):  # Case of eigs
                        for fn in request.session['invariant_fns'][inv]:
                            convertTo.convertAndSave(fn, fileFormat,
                                                     getDirFromFilename(fn),
                                                     inv)
                            # TODO replace getDirFromFilename with os.path.dirname
                    else:  # case of all other invariants
                        convertTo.convertAndSave(request.session['invariant_fns'][inv], fileFormat, \
                                            getDirFromFilename(request.session['invariant_fns'][inv]) , inv)
                        # TODO replace getDirFromFilename with os.path.dirname

            for fileFormat in grConvertToFormats:
                if request.session['graphsize'] == 'big':
                    convertTo.convertGraph(request.session['bgGrfn'],
                                           fileFormat)
                elif request.session['graphsize'] == 'small':
                    convertTo.convertGraph(request.session['smGrfn'],
                                           fileFormat)

            if dataReturn == 'vd':  # View data directory
                dataUrlTail = request.session['usrDefProjDir']

                # baseurl = request.META['HTTP_HOST']
                # host = request.META['wsgi.url_scheme']
                # rooturl = host + '://' + baseurl # Originally was: 'http://mrbrain.cs.jhu.edu' # Done for http & https

                return HttpResponseRedirect('http://mrbrain.cs.jhu.edu' +
                                            dataUrlTail.replace(' ', '%20'))

            elif dataReturn == 'dz':  #Download all as zip
                return HttpResponseRedirect(get_script_prefix() + 'zipoutput')

    else:
        form = DownloadForm()

    return render_to_response('confirmDownload.html',{'downloadForm': form},\
                    context_instance=RequestContext(request))
Esempio n. 2
0
def confirmDownload(request):

  if request.method == 'POST':
    form = DownloadForm(request.POST) # instantiating form
    if form.is_valid():
      invConvertToFormats = form.cleaned_data['Select_Invariant_conversion_format'] # Which form to convert to
      grConvertToFormats = form.cleaned_data['Select_Graph_conversion_format']
      dataReturn = form.cleaned_data['Select_output_type']

      for fileFormat in invConvertToFormats:
        if fileFormat == '.mat':
          convertTo.convertLCCNpyToMat(request.session['lccfn'])
          convertTo.convertSVDNpyToMat(request.session['SVDfn'])

        # Conversion of all files
        for inv in request.session['invariant_fns'].keys():
          if isinstance(request.session['invariant_fns'][inv], list): # Case of eigs
            for fn in request.session['invariant_fns'][inv]:
              convertTo.convertAndSave(fn, fileFormat, getDirFromFilename(fn), inv)
              # TODO replace getDirFromFilename with os.path.dirname
          else: # case of all other invariants
            convertTo.convertAndSave(request.session['invariant_fns'][inv], fileFormat, \
                                getDirFromFilename(request.session['invariant_fns'][inv]) , inv)
            # TODO replace getDirFromFilename with os.path.dirname

      for fileFormat in grConvertToFormats:
        if request.session['graphsize'] == 'big':
          convertTo.convertGraph(request.session['bgGrfn'], fileFormat)
        elif request.session['graphsize'] == 'small':
          convertTo.convertGraph(request.session['smGrfn'], fileFormat)

      if dataReturn == 'vd': # View data directory
        dataUrlTail = request.session['usrDefProjDir']

        # baseurl = request.META['HTTP_HOST']
        # host = request.META['wsgi.url_scheme']
        # rooturl = host + '://' + baseurl # Originally was: 'http://mrbrain.cs.jhu.edu' # Done for http & https

        return HttpResponseRedirect('http://mrbrain.cs.jhu.edu' + dataUrlTail.replace(' ','%20'))

      elif dataReturn == 'dz': #Download all as zip
        return HttpResponseRedirect(get_script_prefix()+'zipoutput')

  else:
    form = DownloadForm()

  return render_to_response('confirmDownload.html',{'downloadForm': form},\
                  context_instance=RequestContext(request))
Esempio n. 3
0
def confirmDownload(request):

  if request.method == 'POST':
    form = DownloadForm(request.POST) # instantiating form
    if form.is_valid():

      dataReturn = form.cleaned_data['Select_output_type']

      if dataReturn == 'vd': # View data directory
        dataUrlTail = request.session['usrDefProjDir']

        dwnldLoc = request.META['wsgi.url_scheme'] + '://' + \
                    request.META['HTTP_HOST'] + dataUrlTail.replace(' ','%20')

        return HttpResponseRedirect(dwnldLoc)

      elif dataReturn == 'dz': #Download all as zip
        return HttpResponseRedirect(get_script_prefix()+'zipoutput')
  else:
    form = DownloadForm()
  return render_to_response('confirmDownload.html',{'downloadForm': form},\
                  context_instance=RequestContext(request))
Esempio n. 4
0
def modifyDownload(request, num):
    existing = False
    App = apps.get_model('apps', 'App')
    Download = apps.get_model('apps', 'Download')
    Release = apps.get_model('apps', 'Release')
    try:
        app = App.objects.get(id=num)
    except:
        context = {
            'message': "Requested App does not Exist!",
            'go_back_to_url': "/app/" + app.name,
            'go_back_to_title': "App Page",
        }
        return render(request, 'message.html', context)
    if Download.objects.filter(app=app).exists():
        existing = True
        edit_download = Download.objects.get(app=app)
    if request.user.is_staff or request.user in app.editors.all():
        if request.method == 'GET':
            if existing:
                form = DownloadForm(instance=edit_download, current_app=app)
            else:
                form = DownloadForm(current_app=app)
        elif request.method == 'POST':
            if existing:
                form = DownloadForm(request.POST,
                                    instance=edit_download,
                                    current_app=app)
            else:
                form = DownloadForm(request.POST, current_app=app)
            if form.is_valid():
                if existing:
                    instance = form.save()
                    release = None
                    releases = Release.objects.filter(app=instance.app)
                    if releases:
                        release = releases.latest('date')
                    choice = instance.download_option
                    link = "https://ns-apps.washington.edu/" + instance.app.name + "/#cy-app-instructions-tab"
                    if choice == 'I':
                        instance.download_link = link
                    elif choice == 'D':
                        instance.download_link = release.url
                        if not release:
                            instance.download_link = link
                    elif choice == 'U':
                        instance.download_link = instance.external_url
                        if not instance.external_url:
                            instance.download_link = link
                    if not instance.default_release:
                        instance.default_release = release
                    print instance.download_link
                    instance.save()
                else:
                    download = form.save(commit=False)
                    download.app = app
                    download.save()
                context = {
                    'message': "Download Details modified Successfully!",
                    'go_back_to_url': "/app/" + app.name,
                    'go_back_to_title': "App Page",
                }
                return render(request, 'message.html', context)
    else:
        context = {
            'message': "You are not authorized to view this page!",
            'go_back_to_url': "/app/" + app.name,
            'go_back_to_title': "App Page",
        }
        return render(request, 'message.html', context)
    return render(request, 'download.html', {'form': form})
Esempio n. 5
0
def submit(request):
    dform = DownloadForm(request.POST or None)
    if dform.is_valid():
      dform.save()
      return redirect(reverse('free_data'))
    return render(request, 'download.html', context={'dform': dform})