X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/60c3eb6ecbe5c000aa4d24344e85d2ed00d8983c..86ece3be121fe57d58e76bffcd52713d413cacc1:/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):