mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Handle newlines when serializing to csr files
See #1827198 (Book convertion loading regexPDF to epub)
This commit is contained in:
parent
b114528e3f
commit
0cf114ada1
@ -334,6 +334,10 @@ def abspath(x):
|
|||||||
return os.path.abspath(os.path.expanduser(x))
|
return os.path.abspath(os.path.expanduser(x))
|
||||||
|
|
||||||
|
|
||||||
|
def escape_sr_pattern(exp):
|
||||||
|
return exp.replace('\n', '\ue123')
|
||||||
|
|
||||||
|
|
||||||
def read_sr_patterns(path, log=None):
|
def read_sr_patterns(path, log=None):
|
||||||
import json, re
|
import json, re
|
||||||
pats = []
|
pats = []
|
||||||
@ -344,6 +348,7 @@ def read_sr_patterns(path, log=None):
|
|||||||
if pat is None:
|
if pat is None:
|
||||||
if not line.strip():
|
if not line.strip():
|
||||||
continue
|
continue
|
||||||
|
line = line.replace('\ue123', '\n')
|
||||||
try:
|
try:
|
||||||
re.compile(line)
|
re.compile(line)
|
||||||
except:
|
except:
|
||||||
|
@ -122,6 +122,7 @@ class SearchAndReplaceWidget(Widget, Ui_Form):
|
|||||||
show=True)
|
show=True)
|
||||||
|
|
||||||
def sr_save_clicked(self):
|
def sr_save_clicked(self):
|
||||||
|
from calibre.ebooks.conversion.cli import escape_sr_pattern as escape
|
||||||
filename = choose_save_file(self, 'sr_saved_patterns',
|
filename = choose_save_file(self, 'sr_saved_patterns',
|
||||||
_('Save calibre search-replace definitions file'),
|
_('Save calibre search-replace definitions file'),
|
||||||
filters=[
|
filters=[
|
||||||
@ -130,7 +131,7 @@ class SearchAndReplaceWidget(Widget, Ui_Form):
|
|||||||
if filename:
|
if filename:
|
||||||
with codecs.open(filename, 'w', 'utf-8') as f:
|
with codecs.open(filename, 'w', 'utf-8') as f:
|
||||||
for search, replace in self.get_definitions():
|
for search, replace in self.get_definitions():
|
||||||
f.write(search + u'\n' + replace + u'\n\n')
|
f.write(escape(search) + u'\n' + escape(replace) + u'\n\n')
|
||||||
|
|
||||||
def sr_up_clicked(self):
|
def sr_up_clicked(self):
|
||||||
self.cell_rearrange(-1)
|
self.cell_rearrange(-1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user