def create_container(request): """ Creates a container (empty object of type application/directory) """ storage_url = request.session.get("storage_url", "") auth_token = request.session.get("auth_token", "") headers = { "X-Container-Meta-Access-Control-Expose-Headers": "Access-Control-Allow-Origin", "X-Container-Meta-Access-Control-Allow-Origin": settings.BASE_URL, } form = CreateContainerForm(request.POST or None) if form.is_valid(): container = form.cleaned_data["containername"] # Check container does not already exist try: client.get_container(storage_url, auth_token, container) messages.add_message(request, messages.ERROR, _("Container {0} already exists.".format(container))) except: try: client.put_container(storage_url, auth_token, container, headers) messages.add_message(request, messages.INFO, _("Container created.")) except client.ClientException: messages.add_message(request, messages.ERROR, _("Access denied.")) return redirect(containerview) return render_to_response( "create_container.html", {"session": request.session}, context_instance=RequestContext(request) )
def create_container(request): """ Creates a container (empty object of type application/directory) """ storage_url = request.session.get('storage_url', '') auth_token = request.session.get('auth_token', '') form = CreateContainerForm(request.POST or None) if form.is_valid(): container = form.cleaned_data['containername'] try: client.put_container(storage_url, auth_token, container) messages.add_message(request, messages.INFO, _("Container created.")) except client.ClientException: messages.add_message(request, messages.ERROR, _("Access denied.")) return redirect(containerview) return render(request, 'create_container.html', {})
def create_container(request): """ Creates a container on swift. """ storage_url = request.session.get('storage_url', '') auth_token = request.session.get('auth_token', '') # We need the CORS header set to the base url of this instance of # swiftbrowser. Otherwise posts from the browser to swift will not work. headers = { 'X-Container-Meta-Access-Control-Expose-Headers': 'Access-Control-Allow-Origin', 'X-Container-Meta-Access-Control-Allow-Origin': settings.BASE_URL } form = CreateContainerForm(request.POST or None) if form.is_valid(): container = form.cleaned_data['containername'] #Check container does not already exist try: client.get_container( storage_url, auth_token, container, headers={"X-Forwarded-For": request.META.get('REMOTE_ADDR')}) messages.add_message( request, messages.ERROR, _("Container {0} already exists.".format(container))) except: try: client.put_container( storage_url, auth_token, container, headers) messages.add_message(request, messages.INFO, _("Container created.")) except client.ClientException: messages.add_message( request, messages.ERROR, _("Access denied.")) return redirect(containerview) return render_to_response( 'create_container.html', {'session': request.session}, context_instance=RequestContext(request))