from __future__ import unicode_literals
from six.moves.urllib.parse import urlparse


def bucket_name_from_url(url):
    path = urlparse(url).path.lstrip("/")

    parts = path.lstrip("/").split("/")
    if len(parts) == 0 or parts[0] == "":
        return None
    return parts[0]


def parse_key_name(path):
    return "/".join(path.split("/")[2:])


def is_delete_keys(request, path, bucket_name):
    return (
        path == "/" + bucket_name + "/?delete"
        or path == "/" + bucket_name + "?delete"
        or (
            path == "/" + bucket_name
            and getattr(request, "query_string", "") == "delete"
        )
    )
