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'))
def transform_declaration(decl_text): ans = transform_properties(decl_text, is_declaration=True) if name in changed_names: virtualized_names.add(name) return ans
def transform_sheet(sheet_text): ans = transform_properties(sheet_text, is_declaration=False) if name in changed_names: virtualized_names.add(name) return ans
def d(src, expected, is_declaration=True, url_callback=None): self.ae(transform_properties(src, is_declaration=is_declaration, url_callback=url_callback), expected)