1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 08:04:49 +01:00

rules: add [?&] prefix to query match, use {0} instead of {} for 2.6

compatibility
This commit is contained in:
Ilya Kreymer 2014-09-21 20:04:51 -07:00
parent 4c5a7d6bcd
commit e2f8594ea7

View File

@ -161,15 +161,15 @@ class CDXDomainSpecificRule(BaseRule):
def make_query_match_regex(params_list):
r"""
>>> CDXDomainSpecificRule.make_query_match_regex(['param1', 'id', 'abc'])
'(abc=[^&]+).*(id=[^&]+).*(param1=[^&]+)'
'[?&](abc=[^&]+).*[?&](id=[^&]+).*[?&](param1=[^&]+)'
>>> CDXDomainSpecificRule.make_query_match_regex(['id[0]', 'abc()'])
'(abc\\(\\)=[^&]+).*(id\\[0\\]=[^&]+)'
'[?&](abc\\(\\)=[^&]+).*[?&](id\\[0\\]=[^&]+)'
"""
params_list.sort()
def conv(value):
return '({}=[^&]+)'.format(re.escape(value))
return '[?&]({0}=[^&]+)'.format(re.escape(value))
params_list = map(conv, params_list)
final_str = '.*'.join(params_list)