X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/60c3eb6ecbe5c000aa4d24344e85d2ed00d8983c..ce02a06785b4ef96aa7aebc63641883a9ee491d4:/src/catalogue/views.py?ds=sidebyside diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 6782e5369..99e3c8244 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -365,7 +365,14 @@ def _no_diacritics_regexp(query): def unicode_re_escape(query): """ Unicode-friendly version of re.escape """ - return re.sub(r'(?u)(\W)', r'\\\1', query) + s = list(query) + for i, c in enumerate(query): + if re.match(r'(?u)(\W)', c) and re.match(r'[\x00-\x7e]', c): + if c == "\000": + s[i] = "\\000" + else: + s[i] = "\\" + c + return query[:0].join(s) def _word_starts_with(name, prefix): @@ -621,6 +628,7 @@ class CustomPDFFormView(AjaxableFormView): form_class = forms.CustomPDFForm title = ugettext_lazy('Download custom PDF') submit = ugettext_lazy('Download') + template = 'catalogue/custom_pdf_form.html' honeypot = True def __call__(self, *args, **kwargs):