Example #1
0
 def parse_rule(obj):
     match = obj.get('match')
     if 'rewrite' in obj:
         replace = RxRules.archival_rewrite()
     elif 'function' in obj:
         replace = load_py_name(obj['function'])
     else:
         replace = RxRules.format(obj.get('replace', '{0}'))
     group = obj.get('group', 0)
     result = (match, replace, group)
     return result
Example #2
0
    def parse_rewrite_rule(self, config):
        rw_config = config.get('rewrite')
        if not rw_config:
            return

        rule = rw_config
        url_prefix = config.get('url_prefix')
        if not isinstance(url_prefix, list):
            url_prefix = [url_prefix]

        rule['url_prefix'] = url_prefix

        regexs = rule.get('js_regexs')
        if regexs:
            parse_rules_func = self.init_js_regex(regexs)
            rule['js_regex_func'] = parse_rules_func

        mixin = rule.get('mixin')
        if mixin:
            rule['mixin'] = load_py_name(mixin)

        return rule