コード例 #1
0
def process_rules(rules,
                  theme=None,
                  extra=None,
                  trace=None,
                  css=True,
                  xinclude=True,
                  absolute_prefix=None,
                  includemode=None,
                  update=True,
                  parser=None,
                  rules_parser=None,
                  read_network=False,
                  stop=None):
    if trace:
        trace = '1'
    else:
        trace = '0'
    if rules_parser is None:
        rules_parser = etree.XMLParser(recover=False)
    rules_doc = etree.parse(rules, parser=rules_parser)
    if stop == 0: return rules_doc
    if parser is None:
        parser = etree.HTMLParser()
    if xinclude:
        rules_doc.xinclude(
        )  # XXX read_network limitation not yet supported for xinclude
    if stop == 1: return rules_doc
    rules_doc = add_identifiers(rules_doc)
    if stop == 2: return rules_doc
    if update:
        rules_doc = update_namespace(rules_doc)
    if stop == 3: return rules_doc
    if css:
        rules_doc = convert_css_selectors(rules_doc)
    if stop == 4: return rules_doc
    rules_doc = fixup_theme_comment_selectors(rules_doc)
    if stop == 5: return rules_doc
    rules_doc = expand_themes(rules_doc, parser, absolute_prefix, read_network)
    if theme is not None:
        rules_doc = add_theme(rules_doc, theme, parser, absolute_prefix,
                              read_network)
    if stop == 6: return rules_doc
    if includemode is None:
        includemode = 'document'
    includemode = "'%s'" % includemode
    rules_doc = normalize_rules(rules_doc, includemode=includemode)
    if stop == 7: return rules_doc
    rules_doc = apply_conditions(rules_doc)
    if stop == 8: return rules_doc
    rules_doc = merge_conditions(rules_doc)
    if stop == 9: return rules_doc
    rules_doc = fixup_themes(rules_doc)
    if stop == 10: return rules_doc
    rules_doc = annotate_themes(rules_doc)
    if stop == 11: return rules_doc
    rules_doc = annotate_rules(rules_doc)
    if stop == 12: return rules_doc
    rules_doc = apply_rules(rules_doc, trace=trace)
    return rules_doc
コード例 #2
0
ファイル: utils.py プロジェクト: plone/plone.app.blocks
def process_rules(rules_doc, theme=None, trace=None, css=True,
                  absolute_prefix=None, includemode=None,
                  update=True, stop=None):
    if trace:
        trace = '1'
    else:
        trace = '0'
    if stop == 0:
        return rules_doc
    if stop == 1:
        return rules_doc
    rules_doc = rules.add_identifiers(rules_doc)
    if stop == 2 or stop == 'add_identifiers':
        return rules_doc
    if update:
        rules_doc = rules.update_namespace(rules_doc)
    if stop == 3:
        return rules_doc
    if css:
        rules_doc = cssrules.convert_css_selectors(rules_doc)
    if stop == 4:
        return rules_doc
    rules_doc = rules.fixup_theme_comment_selectors(rules_doc)
    if stop == 5:
        return rules_doc
    if theme is not None:
        rules_doc = add_theme(rules_doc, theme, absolute_prefix)
    if stop == 6:
        return rules_doc
    if includemode is None:
        includemode = 'document'
    includemode = "'%s'" % includemode
    rules_doc = rules.normalize_rules(rules_doc, includemode=includemode)
    if stop == 7:
        return rules_doc
    rules_doc = rules.apply_conditions(rules_doc)
    if stop == 8:
        return rules_doc
    rules_doc = rules.merge_conditions(rules_doc)
    if stop == 9:
        return rules_doc
    rules_doc = rules.fixup_themes(rules_doc)
    if stop == 10:
        return rules_doc
    rules_doc = rules.annotate_themes(rules_doc)
    if stop == 11:
        return rules_doc
    rules_doc = rules.include(rules_doc)
    if stop == 12:
        return rules_doc
    rules_doc = rules.annotate_rules(rules_doc)
    if stop == 13:
        return rules_doc
    rules_doc = rules.apply_rules(rules_doc, trace=trace)
    return rules_doc
コード例 #3
0
def process_rules(rules_doc, theme=None, trace=None, css=True,
                  absolute_prefix=None, includemode=None,
                  update=True, stop=None):
    if trace:
        trace = '1'
    else:
        trace = '0'
    if stop == 0:
        return rules_doc
    if stop == 1:
        return rules_doc
    rules_doc = rules.add_identifiers(rules_doc)
    if stop == 2 or stop == 'add_identifiers':
        return rules_doc
    if update:
        rules_doc = rules.update_namespace(rules_doc)
    if stop == 3:
        return rules_doc
    if css:
        rules_doc = cssrules.convert_css_selectors(rules_doc)
    if stop == 4:
        return rules_doc
    rules_doc = rules.fixup_theme_comment_selectors(rules_doc)
    if stop == 5:
        return rules_doc
    if theme is not None:
        rules_doc = add_theme(rules_doc, theme, absolute_prefix)
    if stop == 6:
        return rules_doc
    if includemode is None:
        includemode = 'document'
    includemode = "'%s'" % includemode
    rules_doc = rules.normalize_rules(rules_doc, includemode=includemode)
    if stop == 7:
        return rules_doc
    rules_doc = rules.apply_conditions(rules_doc)
    if stop == 8:
        return rules_doc
    rules_doc = rules.merge_conditions(rules_doc)
    if stop == 9:
        return rules_doc
    rules_doc = rules.fixup_themes(rules_doc)
    if stop == 10:
        return rules_doc
    rules_doc = rules.annotate_themes(rules_doc)
    if stop == 11:
        return rules_doc
    rules_doc = rules.annotate_rules(rules_doc)
    if stop == 12:
        return rules_doc
    rules_doc = rules.apply_rules(rules_doc, trace=trace)
    return rules_doc
コード例 #4
0
ファイル: rules.py プロジェクト: resa89/imusite
def process_rules(rules, theme=None, extra=None, trace=None, css=True, xinclude=True, absolute_prefix=None,
                  includemode=None, update=True, parser=None, rules_parser=None, read_network=False, stop=None):
    if trace:
        trace = '1'
    else:
        trace = '0'
    if rules_parser is None:
        rules_parser = etree.XMLParser(recover=False)
    rules_doc = etree.parse(rules, parser=rules_parser)
    if stop == 0: return rules_doc
    if parser is None:
        parser = etree.HTMLParser()
    if xinclude:
        rules_doc.xinclude() # XXX read_network limitation not yet supported for xinclude
    if stop == 1: return rules_doc
    rules_doc = add_identifiers(rules_doc)
    if stop == 2 or stop == 'add_identifiers': return rules_doc
    if update:
        rules_doc = update_namespace(rules_doc)
    if stop == 3: return rules_doc
    if css:
        rules_doc = convert_css_selectors(rules_doc)
    if stop == 4: return rules_doc
    rules_doc = fixup_theme_comment_selectors(rules_doc)
    if stop == 5: return rules_doc
    rules_doc = expand_themes(rules_doc, parser, absolute_prefix, read_network)
    if theme is not None:
        rules_doc = add_theme(rules_doc, theme, parser, absolute_prefix, read_network)
    if stop == 6: return rules_doc
    if includemode is None:
        includemode = 'document'
    includemode = "'%s'" % includemode
    rules_doc = normalize_rules(rules_doc, includemode=includemode)
    if stop == 7: return rules_doc
    rules_doc = apply_conditions(rules_doc)
    if stop == 8: return rules_doc
    rules_doc = merge_conditions(rules_doc)
    if stop == 9: return rules_doc
    rules_doc = fixup_themes(rules_doc)
    if stop == 10: return rules_doc
    rules_doc = annotate_themes(rules_doc)
    if stop == 11: return rules_doc
    rules_doc = annotate_rules(rules_doc)
    if stop == 12: return rules_doc
    rules_doc = apply_rules(rules_doc, trace=trace)
    return rules_doc