From 6ca1739d6beb9987e6cebc41bd5070b2c2ef1759 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 26 Jun 2019 14:31:37 -0400 Subject: [PATCH] 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', '\\g100', thumbimage) + cover_url = re.sub(r'(?P(Ima?g(eType-)?))200', r'\g100', 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(\s*){1,})', '\\g'+'\\g', self.processed_html) + r'(?i)(?P]*>)\s*(?P(\s*){1,})', r'\g'+r'\g', self.processed_html) self.processed_html = re.sub( - r'(?i)(?P
(]*>\s*){1,})(?P]*>)', '\\g'+'\\g
', self.processed_html) + r'(?i)(?P
(]*>\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'|', self.processed_html): if x == '': @@ -699,7 +699,7 @@ class MobiReader(object): continue if reached and x.tag == 'a': href = x.get('href', '') - if href and re.match('\\w+://', href) is None: + if href and re.match(r'\w+://', href) is None: try: text = u' '.join([t.strip() for t in x.xpath('descendant::text()')])