src/ldt/ldt/utils/url.py
author grandjoncl
Thu, 20 Dec 2012 15:12:51 +0100
branchmodifications_relative_ldtxml
changeset 1043 34af1cdcf746
parent 1011 0f5c867b917d
child 1187 73403060f297
permissions -rw-r--r--
Starting 'modifications_relative_ldtxml' branch

from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.urlresolvers import reverse
from ldt.utils.web_url_management import get_web_url
from ldt import settings
from django.conf import settings as djangosettings
import httplib2
import re
import urlparse
import logging

def absstatic(request, path):
    domain=get_web_url(request)
    new_path = staticfiles_storage.url(path)
    return urlparse.urljoin(domain, new_path)

def absolute_media_url():
    domain=get_web_url()
    
    return urlparse.urljoin(domain, djangosettings.MEDIA_URL)

def absurl(request, viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
    domain=get_web_url(request)
    path=reverse(viewname, urlconf, args, kwargs, prefix, current_app)
    return urlparse.urljoin(domain, path)

def absurl_norequest(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
    domain=get_web_url()
    path=reverse(viewname, urlconf, args, kwargs, prefix, current_app)
    return urlparse.urljoin(domain, path)

def request_with_auth(url, method='GET'):
    h = httplib2.Http()
    web_auth = settings.WEB_AUTH if settings.WEB_AUTH else []
    for entry in web_auth:
        if not isinstance(entry, dict):
            continue
        regex = entry.get('REGEX', None)
        if regex and re.search(regex, url, re.IGNORECASE):
            h.add_credentials(entry.get('NAME', ''), entry.get('PASSWORD', ''), entry.get('DOMAIN', ''))
            break
            
    return h.request(url, method)


def is_absolute(url):
    return bool(urlparse.urlparse(url).scheme)