Esempio n. 1
0
def transform_style_sheet(container, name, link_uid, virtualize_resources,
                          virtualized_names):
    changed = False
    link_replacer = None
    if virtualize_resources:
        changed_names = set()
        link_replacer = partial(
            create_link_replacer(container, link_uid, changed_names), name)
    raw = container.raw_data(name, decode=True)
    nraw = transform_properties(raw,
                                is_declaration=False,
                                url_callback=link_replacer)
    if virtualize_resources:
        if name in changed_names:
            changed = True
            virtualized_names.add(name)
    if nraw != raw:
        changed = True
        raw = nraw
    raw = raw.lstrip()
    if not raw.startswith('@charset'):
        raw = '@charset "UTF-8";\n' + raw
        changed = True
    if changed:
        with container.open(name, 'wb') as f:
            f.write(raw.encode('utf-8'))
Esempio n. 2
0
 def transform_declaration(decl_text):
     ans = transform_properties(decl_text, is_declaration=True)
     if name in changed_names:
         virtualized_names.add(name)
     return ans
Esempio n. 3
0
 def transform_sheet(sheet_text):
     ans = transform_properties(sheet_text, is_declaration=False)
     if name in changed_names:
         virtualized_names.add(name)
     return ans
Esempio n. 4
0
 def d(src, expected, is_declaration=True, url_callback=None):
     self.ae(transform_properties(src, is_declaration=is_declaration, url_callback=url_callback), expected)