From 6ca1739d6beb9987e6cebc41bd5070b2c2ef1759 Mon Sep 17 00:00:00 2001
From: Eli Schwartz
Date: Wed, 26 Jun 2019 14:31:37 -0400
Subject: [PATCH 1/7] use raw strings where possible to avoid escaping issues
---
src/calibre/ebooks/metadata/sources/overdrive.py | 4 ++--
src/calibre/ebooks/mobi/reader/mobi6.py | 10 +++++-----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/calibre/ebooks/metadata/sources/overdrive.py b/src/calibre/ebooks/metadata/sources/overdrive.py
index 514fb9b98e..9a3e413e67 100644
--- a/src/calibre/ebooks/metadata/sources/overdrive.py
+++ b/src/calibre/ebooks/metadata/sources/overdrive.py
@@ -150,7 +150,7 @@ class OverDrive(Source):
fix_slashes = re.compile(r'\\/')
thumbimage = fix_slashes.sub('/', thumbimage)
worldcatlink = fix_slashes.sub('/', worldcatlink)
- cover_url = re.sub('(?P
(Ima?g(eType-)?))200', '\\g
100', thumbimage)
+ cover_url = re.sub(r'(?P
(Ima?g(eType-)?))200', r'\g
100', thumbimage)
social_metadata_url = base_url+'TitleInfo.aspx?ReserveID='+reserveid+'&FormatID='+formatid
series_num = ''
if not series:
@@ -256,7 +256,7 @@ class OverDrive(Source):
def sort_ovrdrv_results(self, raw, log, title=None, title_tokens=None, author=None, author_tokens=None, ovrdrv_id=None):
close_matches = []
- raw = re.sub('.*?\\[\\[(?P.*?)\\]\\].*', '[[\\g]]', raw)
+ raw = re.sub(r'.*?\[\[(?P.*?)\]\].*', r'[[\g]]', raw)
results = json.loads(raw)
# log.error('raw results are:'+str(results))
# The search results are either from a keyword search or a multi-format list from a single ID,
diff --git a/src/calibre/ebooks/mobi/reader/mobi6.py b/src/calibre/ebooks/mobi/reader/mobi6.py
index 60e4f89aaf..94efa17bcd 100644
--- a/src/calibre/ebooks/mobi/reader/mobi6.py
+++ b/src/calibre/ebooks/mobi/reader/mobi6.py
@@ -356,13 +356,13 @@ class MobiReader(object):
# Swap inline and block level elements, and order block level elements according to priority
# - lxml and beautifulsoup expect/assume a specific order based on xhtml spec
self.processed_html = re.sub(
- r'(?i)(?P(<(h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})(?P]*>)', '\\g'+'\\g', self.processed_html)
+ r'(?i)(?P(<(h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})(?P]*>)', r'\g'+r'\g', self.processed_html)
self.processed_html = re.sub(
- r'(?i)(?P
]*>)\s*(?P((h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})', '\\g'+'\\g', self.processed_html)
+ r'(?i)(?P
]*>)\s*(?P((h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})', r'\g'+r'\g', self.processed_html)
self.processed_html = re.sub(
- r'(?i)(?P((blockquote|div)[^>]*>\s*){1,})(?P
]*>)', '\\g'+'\\g', self.processed_html)
+ r'(?i)(?P((blockquote|div)[^>]*>\s*){1,})(?P]*>)', r'\g'+r'\g', self.processed_html)
self.processed_html = re.sub(
- r'(?i)(?P]*>)\s*(?P
(<(blockquote|div)[^>]*>\s*){1,})', '\\g'+'\\g', self.processed_html)
+ r'(?i)(?P]*>)\s*(?P
(<(blockquote|div)[^>]*>\s*){1,})', r'\g'+r'\g', self.processed_html)
bods = htmls = 0
for x in re.finditer(u'