

def handle(self, request, data):
    index = 'horizon:project:containers:index'
    orig_container = data['orig_container_name']
    orig_object = data['orig_object_name']
    new_container = data['new_container_name']
    new_object = data['new_object_name']
    path = data['path']
    if (path and (not path.endswith('/'))):
        path = (path + '/')
    new_path = ('%s%s' % (path, new_object))
    try:
        api.swift.swift_copy_object(request, orig_container, orig_object, new_container, new_path)
        dest = ('%s/%s' % (new_container, path))
        vals = {
            'dest': dest.rstrip('/'),
            'orig': orig_object.split('/')[(- 1)],
            'new': new_object,
        }
        messages.success(request, (_('Copied "%(orig)s" to "%(dest)s" as "%(new)s".') % vals))
        return True
    except exceptions.HorizonException as exc:
        messages.error(request, exc)
        raise exceptions.Http302(reverse(index, args=[tables.wrap_delimiter(orig_container)]))
    except Exception:
        redirect = reverse(index, args=[tables.wrap_delimiter(orig_container)])
        exceptions.handle(request, _('Unable to copy object.'), redirect=redirect)

dataset/ETHPy150Open Havate/havate-openstack/proto-build/gui/horizon/Horizon_GUI/openstack_dashboard/dashboards/project/containers/forms.py CopyObject.handle/original