-@require_POST
-def compress(request):
- check_auth(request)
-
- # TODO data validation
- host = request.POST.get('host')
- path = request.POST.get('path')
- files = request.POST.getlist('files')
- archive = request.POST.get('archive')
- if not host or not path or not files or not archive:
- raise SuspiciousOperation("No path or host or files or archive given!")
-
- server = 'gsiftp://' + host
-
- try:
- # consume generator with command output
- list(FTPOperation(request.session['proxy']).compress(server, path, files, archive))
- except FTPException as e:
- return JsonResponse({'msg': e.message}, status=400)
- else:
- return JsonResponse({'success': True})
+def make_url(params, *parts):
+ return 'gsiftp://{}/{}'.format(params['host'], os.path.join(*[params[part] for part in parts]) if parts else '')