def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)

    if MEDIA_DEV_MODE:
        root = _load_root_filter(bundle)
        variations = root._get_variations_with_input()
        variation_map = [(key, variation.pop(key))
                         for key in sorted(variations.keys())]
        if variation:
            raise ValueError('Bundle %s does not support the following variation(s): %s'
                             % (bundle, ', '.join(variation.keys())))
    else:
        variation_map = tuple((key, variation[key])
                              for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, variation_map))

    if filetype == 'css':
        if media_types:
            tag = u'<link rel="stylesheet" type="text/css" href="%%s" media="%s" />' % media_types
        else:
            tag = u'<link rel="stylesheet" type="text/css" href="%s" />'
    elif filetype == 'js':
        tag = u'<script type="text/javascript" src="%s"></script>'
    else:
        raise ValueError("""Don't know how to include file type "%s".""" % filetype)

    return '\n'.join(tag % url for url in urls)
Exemple #2
0
def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)

    variation_map = tuple((key, variation[key]) for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, variation_map))
    ctxt = {}

    if filetype == 'css':
        if media_types:
            tag = '<link rel="stylesheet" type="text/css" href="{url}" media="{media}" />'
            ctxt['media'] = media_types
        else:
            tag = '<link rel="stylesheet" type="text/css" href="{url}" />'
    elif filetype == 'js':
        tag = '<script type="text/javascript" src="{url}"></script>'
    else:
        raise ValueError("""Don't know how to include file type "{}".""".format(filetype))

    return '\n'.join(tag.format(url=url, **ctxt) for url in urls)
    def _rewrite_js(self, match):
        url = match.group("url")
        typ = match.group("type")

        if typ == "url":
            if url.startswith("//"):
                return "'%s'" % url
            return "'%s'" % self._rebase(url)
        elif typ == "import":
            return "\n".join(['importScripts("%s");' % src for src in media_urls(url)])
    def _rewrite_js(self, match):
        url = match.group('url')
        typ = match.group('type')

        if typ == 'url':
            if url.startswith('//'):
                return "'%s'" % url
            return "'%s'" % self._rebase(url)
        elif typ == 'import':
            return '\n'.join(['importScripts("%s");' % src for src in media_urls(url)])
    def _rewrite_js(self, match):
        url = match.group('url')
        typ = match.group('type')

        if typ == 'url':
            if url.startswith('//'):
                return "'%s'" % url
            return "'%s'" % self._rebase(url)
        elif typ == 'import':
            return '\n'.join(['importScripts("%s");' % src for src in media_urls(url)])
def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)
    elif filetype == 'js':
        use_requirejs = variation.pop('requirejs', None)
        req = media_urls(REQUIREJS_PATH)
        requirejs = unquote(req.pop())

    if MEDIA_DEV_MODE:
        root = _load_root_filter(bundle)
        variations = root._get_variations_with_input()
        variation_map = [(key, variation.pop(key))
                         for key in sorted(variations.keys())]
        if variation:
            raise ValueError(
                'Bundle %s does not support the following variation(s): %s' %
                (bundle, ', '.join(variation.keys())))
    else:
        variation_map = tuple(
            (key, variation[key]) for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, None))

    if filetype == 'css':
        if media_types:
            tag = u'<link rel="stylesheet" type="text/css" href="%%s" media="%s" />' % media_types
        else:
            tag = u'<link rel="stylesheet" type="text/css" href="%s" />'
    elif filetype == 'js':
        if use_requirejs and REQUIREJS_PATH:
            tag = u'<script data-main="%%s" type="text/javascript" src="%s"></script>' % requirejs
        else:
            tag = u'<script type="text/javascript" src="%s"></script>'
    else:
        raise ValueError("""Don't know how to include file type "%s".""" %
                         filetype)

    return '\n'.join(tag % url for url in urls)
Exemple #7
0
def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)

    if filetype == 'js':
        js_async = variation.pop('async', None)

    if MEDIA_DEV_MODE:
        root = _load_root_filter(bundle)
        variations = root._get_variations_with_input()
        variation_map = [(key, variation.pop(key))
                         for key in sorted(variations.keys())]
        if variation:
            raise ValueError(
                'Bundle %s does not support the following variation(s): %s' %
                (bundle, ', '.join(variation.keys())))
    else:
        variation_map = tuple(
            (key, variation[key]) for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, variation_map))

    if filetype == 'css':
        if media_types:
            tag = u'<link rel="stylesheet" type="text/css" href="%%s" media="%s" />' % media_types
        else:
            tag = u'<link rel="stylesheet" type="text/css" href="%s" />'
    elif filetype == 'js':
        if js_async:
            tag = u'<script type="text/javascript" async="%s" src="%%s"></script>' % js_async
        else:
            tag = u'<script type="text/javascript" src="%s"></script>'

    else:
        raise ValueError("""Don't know how to include file type "%s".""" %
                         filetype)

    tags_result = '\n'.join(tag % url for url in urls)
    if MEDIA_BLOCKS and bundle.endswith(".ie.css"):
        return "<!--[if lt IE 9]>%s<![endif]-->" % tags_result
    else:
        return tags_result
Exemple #8
0
def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)

    if MEDIA_DEV_MODE:
        root = _load_root_filter(bundle)
        variations = root._get_variations_with_input()
        variation_map = [(key, variation.pop(key))
                         for key in sorted(variations.keys())]
        if variation:
            raise ValueError('Bundle %s does not support the following variation(s): %s'
                             % (bundle, ', '.join(variation.keys())))
    else:
        variation_map = tuple((key, variation[key])
                              for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, variation_map))
    tags = []

    for url in urls:
        if url.find('.less') > 0 and ENABLE_LESS_CSS_DEBUG:
            if media_types:
                tag = u'<link rel="stylesheet/less" type="text/css" href="%%s" media="%s" />' % media_types
            else:
                tag = u'<link rel="stylesheet/less" type="text/css" href="%s" />'
        elif filetype == 'css':
            if media_types:
                tag = u'<link rel="stylesheet" type="text/css" href="%%s" media="%s" />' % media_types
            else:
                tag = u'<link rel="stylesheet" type="text/css" href="%s" />'
        elif filetype == 'js':
            tag = u'<script type="text/javascript" src="%s"></script>'
        else:
            raise ValueError("""Don't know how to include file type "%s".""" % filetype)
        tags.append(tag % url)

    return '\n'.join(tags)
Exemple #9
0
def _render_include_media(bundle, variation):
    variation = variation.copy()
    filetype = os.path.splitext(bundle)[-1].lstrip('.')

    # The "media" variation is special and defines CSS media types
    media_types = None
    if filetype == 'css':
        media_types = variation.pop('media', None)

    # if MEDIA_DEV_MODE:
    #     root = _load_root_filter(bundle)
    #     variations = root._get_variations_with_input()
    #     variation_map = [(key, variation.pop(key)) for key in sorted(variations.keys())]
    #
    #     if variation:
    #         raise ValueError('Bundle {} does not support the following variation(s): {}'.format(
    #                             bundle, ', '.join(variation.keys())
    #         ))
    # else:
    #     variation_map = tuple((key, variation[key]) for key in sorted(variation.keys()))
    variation_map = tuple(
        (key, variation[key]) for key in sorted(variation.keys()))

    urls = media_urls(_get_key(bundle, variation_map))
    ctxt = {}

    if filetype == 'css':
        if media_types:
            tag = '<link rel="stylesheet" type="text/css" href="{url}" media="{media}" />'
            ctxt['media'] = media_types
        else:
            tag = '<link rel="stylesheet" type="text/css" href="{url}" />'
    elif filetype == 'js':
        tag = '<script type="text/javascript" src="{url}"></script>'
    else:
        raise ValueError(
            """Don't know how to include file type "{}".""".format(filetype))

    return '\n'.join(tag.format(url=url, **ctxt) for url in urls)
Exemple #10
0
def media_urls(url):
    return utils.media_urls(url)
 def get_media_urls(bundle):
     return utils.media_urls(bundle)
def media_urls(url):
    return utils.media_urls(url)