48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
|
# -*- 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
|
||
|
|