1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-24 06:59:52 +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): def make_query_match_regex(params_list):
r""" r"""
>>> CDXDomainSpecificRule.make_query_match_regex(['param1', 'id', 'abc']) >>> CDXDomainSpecificRule.make_query_match_regex(['param1', 'id', 'abc'])
'(abc=[^&]+).*(id=[^&]+).*(param1=[^&]+)' '[?&](abc=[^&]+).*[?&](id=[^&]+).*[?&](param1=[^&]+)'
>>> CDXDomainSpecificRule.make_query_match_regex(['id[0]', 'abc()']) >>> CDXDomainSpecificRule.make_query_match_regex(['id[0]', 'abc()'])
'(abc\\(\\)=[^&]+).*(id\\[0\\]=[^&]+)' '[?&](abc\\(\\)=[^&]+).*[?&](id\\[0\\]=[^&]+)'
""" """
params_list.sort() params_list.sort()
def conv(value): def conv(value):
return '({}=[^&]+)'.format(re.escape(value)) return '[?&]({0}=[^&]+)'.format(re.escape(value))
params_list = map(conv, params_list) params_list = map(conv, params_list)
final_str = '.*'.join(params_list) final_str = '.*'.join(params_list)