import urlparse
from django import template

register = template.Library()

@register.filter
def get_full_path(value):
    """Remove scheme://host:port from url, return the left request part.

    In some situations, we have to remove scheme://host:port part from
    url, e.g. when we do the redirect operation, we often get the referer
    from request.META.HTTP_REFERER, this is a full url like:
    http://www.site.com:8000/some/page
    while we just need `/some/page` but not full url, this little snippet
    will do this work. it remove `http://www.site.com:8000` in above
    example.
    """
    url = urlparse.urlsplit(value)
    return urlparse.urlunsplit((0, 0, url[2], url[3], url[4]))