odoo/packs/odoo.v18/devs/kit_spy/odo/spy/hook_rule.py

48 lines
1.3 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
import sys
import re
from ..session import request
from ...land.trace import Tracer
def should_hook_current_url():
runtime_options = sys.modules['runtime_options']
hook_url_paths = runtime_options.get('hook_url_paths')
Tracer.debug('🧐 should_hook_current_url,hook_url_paths{}',hook_url_paths,step=False)
if hook_url_paths is None or len(hook_url_paths) == 0:
return True
return allow_spy(hook_url_paths)
def allow_spy(pattern_paths):
url = request.get_url()
if website_editor_call(url):
Tracer.debug('->website_editor_call, no spy:' + url)
return False
Tracer.debug('->allow_spy,url?',url)
result = False
while True:
for pattern in pattern_paths:
if ("*" == pattern):
result = True
break
if re.search(pattern, url):
result = True
break
break
Tracer.debug('->allow_spy,url? result?',url,result)
return result
def website_editor_call(url):
#ignore website editor snippets
if 'call_kw/ir.ui.view/render_public_asset' in url:
return True
#ignore website editor create new page
if 'website/get_new_page_templates' in url:
return True
return False