Fix flake8's W605 (invalid escape sequence)
authorGuido Günther <agx@sigxcpu.org>
Sun, 14 Oct 2018 09:17:43 +0000 (11:17 +0200)
committerGuido Günther <agx@sigxcpu.org>
Mon, 15 Oct 2018 08:15:08 +0000 (10:15 +0200)
See also

    https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior

16 files changed:
gbp/deb/dscfile.py
gbp/deb/git.py
gbp/deb/policy.py
gbp/deb/pristinetar.py
gbp/git/repository.py
gbp/patch_series.py
gbp/rpm/__init__.py
gbp/rpm/policy.py
gbp/scripts/common/pq.py
gbp/scripts/dch.py
gbp/scripts/export_orig.py
gbp/scripts/pq.py
tests/08_test_patch.py
tests/11_test_dch_main.py
tests/18_test_Config.py
tests/23_test_dch_extract_bts_cmds.py

index 76676fc67a331d1446b0b3152f2370a58745c8f2..41ab869e7a3c6e58ac79bf9d98fe94186fde1e68 100644 (file)
@@ -29,19 +29,19 @@ class DscFile(object):
     compressions = r"(%s)" % '|'.join(DebianUpstreamSource.known_compressions())
     pkg_re = re.compile(r'Source:\s+(?P<pkg>.+)\s*')
     version_re = re.compile(r'Version:\s((?P<epoch>\d+)\:)?'
-                            '(?P<version>[%s]+)\s*$'
+                            r'(?P<version>[%s]+)\s*$'
                             % DebianPkgPolicy.debianversion_chars)
     tar_re = re.compile(r'^\s\w+\s\d+\s+(?P<tar>[^_]+_[^_]+'
-                        '(\.orig)?\.tar\.%s)$' % compressions)
+                        r'(\.orig)?\.tar\.%s)$' % compressions)
     add_tar_re = re.compile(r'^\s\w+\s\d+\s+(?P<tar>[^_]+_[^_]+'
-                            '\.orig-(?P<dir>[a-zA-Z0-9-]+)\.tar\.%s)$' % compressions)
+                            r'\.orig-(?P<dir>[a-zA-Z0-9-]+)\.tar\.%s)$' % compressions)
     diff_re = re.compile(r'^\s\w+\s\d+\s+(?P<diff>[^_]+_[^_]+'
-                         '\.diff.(gz|bz2))$')
+                         r'\.diff.(gz|bz2))$')
     deb_tgz_re = re.compile(r'^\s\w+\s\d+\s+(?P<deb_tgz>[^_]+_[^_]+'
-                            '\.debian.tar.%s)$' % compressions)
+                            r'\.debian.tar.%s)$' % compressions)
     format_re = re.compile(r'Format:\s+(?P<format>[0-9.]+)\s*')
     sig_re = re.compile(r'^\s\w+\s\d+\s+(?P<sig>[^_]+_[^_]+'
-                        '\.orig(-[a-z0-9-]+)?\.tar\.%s.asc)$' % compressions)
+                        r'\.orig(-[a-z0-9-]+)?\.tar\.%s.asc)$' % compressions)
 
     def __init__(self, dscfile):
         self.pkg = ""
index 7e87eda02646eb0fe3ed5585d7552fefcf2b8fe5..fa865ee2d0f1f54b0e861ba82a9510e7e7584bb3 100644 (file)
@@ -33,9 +33,9 @@ class DebianGitRepository(PkgGitRepository):
     """A git repository that holds the source of a Debian package"""
 
     version_mangle_re = (r'%\(version'
-                         '%(?P<M>[^%])'
-                         '%(?P<R>([^%]|\\%))+'
-                         '\)s')
+                         r'%(?P<M>[^%])'
+                         r'%(?P<R>([^%]|\\%))+'
+                         r'\)s')
 
     def __init__(self, *args, **kwargs):
         super(DebianGitRepository, self).__init__(*args, **kwargs)
@@ -166,7 +166,7 @@ class DebianGitRepository(PkgGitRepository):
         'libfoo-1-8-1'
         >>> DebianGitRepository.version_to_tag("v%(version%.%_)s", "1.2.3")
         'v1_2_3'
-        >>> DebianGitRepository.version_to_tag("%(version%-%\%)s", "0-1.2.3")
+        >>> DebianGitRepository.version_to_tag(r'%(version%-%\\%)s', "0-1.2.3")
         '0%1.2.3'
         """
         f, v = cls._mangle_version(format, version)
@@ -178,13 +178,13 @@ class DebianGitRepository(PkgGitRepository):
         """
         Basic version mangling to replce single characters
 
-        >>> DebianGitRepository._mangle_version("%(version%-%\%)s", "0-1.2.3")
+        >>> DebianGitRepository._mangle_version(r'%(version%-%\\%)s', "0-1.2.3")
         ('%(version)s', '0%1.2.3')
         """
         r = re.search(cls.version_mangle_re, format)
         if r:
             f = re.sub(cls.version_mangle_re, "%(version)s", format)
-            v = version.replace(r.group('M'), r.group('R').replace('\%', '%'))
+            v = version.replace(r.group('M'), r.group('R').replace(r'\%', '%'))
             return f, v
         else:
             return format, version
@@ -207,7 +207,7 @@ class DebianGitRepository(PkgGitRepository):
         """
         r = re.search(cls.version_mangle_re, format)
         if r:
-            v = tag.replace(r.group('R').replace('\%', '%'), r.group('M'))
+            v = tag.replace(r.group('R').replace(r'\%', '%'), r.group('M'))
             return v
         else:
             return tag
@@ -231,7 +231,7 @@ class DebianGitRepository(PkgGitRepository):
         >>> DebianGitRepository._sanitize_version("0.lock")
         '0.#lock'
         """
-        v = re.sub('\.(?=\.|$|lock$)', '.#', version)
+        v = re.sub(r'\.(?=\.|$|lock$)', '.#', version)
         return v.replace('~', '_').replace(':', '%')
 
     @staticmethod
@@ -262,7 +262,7 @@ class DebianGitRepository(PkgGitRepository):
         >>> DebianGitRepository.tag_to_version("foo/2.3.4", "upstream/%(version)s")
         """
         f = cls._unmangle_format(format)
-        version_re = f.replace('%(version)s', '(?P<version>[\w_%+-.#]+)')
+        version_re = f.replace('%(version)s', r'(?P<version>[\w_%+-.#]+)')
         r = re.match(version_re, tag)
         if r:
             v = cls._unsanitize_version(r.group('version'))
index d9b27ac05b248220d59d59551133d5451c628531..6664f4ff288ec871febb0ed5fa64b0a0a0482ea5 100644 (file)
@@ -43,7 +43,7 @@ class DebianPkgPolicy(PkgPolicy):
     # must consist only of lower case letters (a-z), digits (0-9), plus (+)
     # and minus (-) signs, and periods (.). They must be at least two
     # characters long and must start with an alphanumeric character."
-    packagename_re = re.compile("^[a-zA-Z0-9][a-zA-Z0-9\.\+\-~]+$")
+    packagename_re = re.compile(r'^[a-zA-Z0-9][a-zA-Z0-9\.\+\-~]+$')
     packagename_msg = """Package names must be at least two characters long, start with an
     alphanumeric and can only containg letters (a-z,A-Z), digits
     (0-9), plus signs (+), minus signs (-), periods (.) and hyphens (~)"""
@@ -55,7 +55,7 @@ class DebianPkgPolicy(PkgPolicy):
     # are not allowed; if there is no epoch then colons are not allowed."
     # Since we don't know about any epochs and debian revisions yet, the
     # last two conditions are not checked.
-    upstreamversion_re = re.compile("^[0-9][a-zA-Z0-9\.\+\-\:\~]*$")
+    upstreamversion_re = re.compile(r'^[0-9][a-zA-Z0-9\.\+\-\:\~]*$')
     upstreamversion_msg = """Upstream version numbers must start with a digit and can only containg lower case
     letters (a-z), digits (0-9), full stops (.), plus signs (+), minus signs
     (-), colons (:) and tildes (~)"""
index 2f52f3ac8c2bfca88dda42a66f7cf2365aa5c9c1..843e52e96fe166f8c41abe33c645e499fb120121 100644 (file)
@@ -36,11 +36,11 @@ class DebianPristineTar(PristineTar):
         @type comp_type: C{str}
         """
         if not comp_type:
-            ext = '\w\+'
+            ext = r'\w\+'
         else:
             ext = Compressor.Exts[comp_type]
 
-        name_regexp = '%s_%s\.orig\.tar\.%s' % (package, version, ext)
+        name_regexp = r'%s_%s\.orig\.tar\.%s' % (package, version, ext)
 
         return super(DebianPristineTar, self).has_commit(name_regexp)
 
index 2ff127d2caf02b1b26a3858649580eecf54388c6..617c172f5b2ae47c2ae932ea9b1d397de7629d03 100644 (file)
@@ -1186,10 +1186,10 @@ class GitRepository(object):
             fetch_url = None
             push_urls = []
             for line in out.decode().splitlines():
-                match = re.match('\s*Fetch\s+URL:\s*(\S.*)', line)
+                match = re.match(r'\s*Fetch\s+URL:\s*(\S.*)', line)
                 if match:
                     fetch_url = match.group(1)
-                match = re.match('\s*Push\s+URL:\s*(\S.*)', line)
+                match = re.match(r'\s*Push\s+URL:\s*(\S.*)', line)
                 if match:
                     push_urls.append(match.group(1))
             remotes[remote] = GitRemote(remote, fetch_url, push_urls)
index 3d272fd9402bd02783b1531d209029a6ca642a1e..c74a414a411bb0ed6fc9e5e344cb17cee4e5e4f4 100644 (file)
@@ -272,8 +272,8 @@ class PatchSeries(list):
     """
     A series of L{Patch}es as read from a quilt series file).
     """
-    comment_re = re.compile('\s+#.*$')
-    level_re = re.compile('-p(?P<level>[0-9]+)')
+    comment_re = re.compile(r'\s+#.*$')
+    level_re = re.compile(r'-p(?P<level>[0-9]+)')
 
     @classmethod
     def read_series_file(cls, seriesfile):
index b37dfdabeeae5423f8e63524844add61fe7a0b50..61d9d35e98e7efe766aab53cfa096371bbccd2c5 100644 (file)
@@ -115,11 +115,11 @@ class SrcRpmFile(object):
 class SpecFile(object):
     """Class for parsing/modifying spec files"""
     tag_re = re.compile(r'^(?P<name>[a-z]+)(?P<num>[0-9]+)?\s*:\s*'
-                        '(?P<value>\S(.*\S)?)\s*$', flags=re.I)
+                        r'(?P<value>\S(.*\S)?)\s*$', flags=re.I)
     directive_re = re.compile(r'^%(?P<name>[a-z]+)(?P<num>[0-9]+)?'
-                              '(\s+(?P<args>.*))?$', flags=re.I)
+                              r'(\s+(?P<args>.*))?$', flags=re.I)
     gbptag_re = re.compile(r'^\s*#\s*gbp-(?P<name>[a-z-]+)'
-                           '(\s*:\s*(?P<args>\S.*))?$', flags=re.I)
+                           r'(\s*:\s*(?P<args>\S.*))?$', flags=re.I)
     # Here "sections" stand for all scripts, scriptlets and other directives,
     # but not macros
     section_identifiers = ('package', 'description', 'prep', 'build', 'install',
@@ -626,7 +626,7 @@ class SpecFile(object):
             if not tag['num'] in ignored:
                 tag_prev = self._delete_tag('patch', tag['num'])
                 # Remove a preceding comment if it seems to originate from GBP
-                if re.match("^\s*#.*patch.*auto-generated",
+                if re.match(r'^\s*#.*patch.*auto-generated',
                             str(tag_prev), flags=re.I):
                     tag_prev = self._content.delete(tag_prev)
 
@@ -643,7 +643,7 @@ class SpecFile(object):
 
                 # Remove a preceding comment line if it ends with '.patch' or
                 # '.diff' plus an optional compression suffix
-                if re.match("^\s*#.+(patch|diff)(\.(gz|bz2|xz|lzma))?\s*$",
+                if re.match(r'^\s*#.+(patch|diff)(\.(gz|bz2|xz|lzma))?\s*$',
                             str(macro_prev), flags=re.I):
                     macro_prev = self._content.delete(macro_prev)
 
index a027ed99638ac4ca4ce58a79fb9566c4cfe78506..a667bb7da4a212ce49abc3f40e33a333311deff8 100644 (file)
@@ -30,9 +30,9 @@ class RpmPkgPolicy(PkgPolicy):
 
     alnum = 'a-zA-Z0-9'
     # Valid characters for RPM pkg name
-    name_whitelist_chars = '._+%{}\-'
+    name_whitelist_chars = r'._+%{}\-'
     # Valid characters for RPM pkg version
-    version_whitelist_chars = '._+%{}~'
+    version_whitelist_chars = r'._+%{}~'
 
     # Regexp for checking the validity of package name
     packagename_re = re.compile("^[%s][%s%s]+$" %
index b6033a2830601dede3f059de210ef04dbe9ef0c9..552602e239e498f39367fb350098cb6d730180d9 100644 (file)
@@ -152,7 +152,7 @@ def write_patch_file(filename, commit_info, diff):
             name = commit_info['author']['name']
             email = commit_info['author']['email']
             # Git compat: put name in quotes if special characters found
-            if re.search("[,.@()\[\]\\\:;]", name):
+            if re.search(r'[,.@()\[\]\\\:;]', name):
                 name = '"%s"' % name
             from_header = Header(header_name='from')
             try:
@@ -216,7 +216,7 @@ def format_patch(outdir, repo, commit_info, series, abbrev, numbered=True,
         if renumber:
             # Remove any existing numeric prefix if the patch
             # should be renumbered
-            name = re.sub('^\d+[-_]*', '', name)
+            name = re.sub(r'^\d+[-_]*', '', name)
         else:
             # Otherwise, clear proposed prefix
             num_prefix = ''
index 6297d2d7aadbd0831a0df1b8a51e9a4ef4410096..b1c8aa821adeabe3bac8834b1e7fd9247001fc52 100644 (file)
@@ -34,7 +34,7 @@ from gbp.scripts.common import ExitCodes, maybe_debug_raise
 from gbp.scripts.common.hook import Hook
 
 user_customizations = {}
-snapshot_re = re.compile("\s*\*\* SNAPSHOT build @(?P<commit>[a-z0-9]+)\s+\*\*")
+snapshot_re = re.compile(r'\s*\*\* SNAPSHOT build @(?P<commit>[a-z0-9]+)\s+\*\*')
 
 
 def guess_version_from_upstream(repo, upstream_tag_format, upstream_branch, cp=None):
index ea6c8870d595d47248a5134f2cd1b8cedb243aea..1afbe6dbd904b722eca98fb2c6a201534935a5f1 100755 (executable)
@@ -235,7 +235,7 @@ def guess_comp_type(comp_type, source, repo, tarball_dir):
 
     if comp_type == 'auto':
         if repo and repo.has_pristine_tar_branch():
-            regex = 'pristine-tar .* %s_%s\.orig.tar\.' % (source.name, source.upstream_version)
+            regex = r'pristine-tar .* %s_%s\.orig.tar\.' % (source.name, source.upstream_version)
             commits = repo.grep_log(regex, repo.pristine_tar_branch, merges=False)
             if commits:
                 commit = commits[-1]
index 7bf7736f2d61f49c65933c524f769e77b5336306..babff1c51307c18cb07df9e6a4d8d2074943e0da 100755 (executable)
@@ -48,7 +48,7 @@ def parse_old_style_topic(commit_info):
     """Parse 'gbp-pq-topic:' line(s) from commit info"""
 
     commit = commit_info['id']
-    topic_regex = 'gbp-pq-topic:\s*(?P<topic>\S.*)'
+    topic_regex = r'gbp-pq-topic:\s*(?P<topic>\S.*)'
     mangled_body = ''
     topic = ''
     # Parse and filter commit message body
index b4ba2b8f098a5c33f24d37ca19a7d20db6b10556..c0f3e5cefd39d7d1ee5f3db025ebccdd44e684a2 100644 (file)
@@ -48,7 +48,7 @@ class TestDep3Patch(unittest.TestCase):
         patchfile = os.path.join(self.data_dir, "dep3-iso8859-1.patch")
         self.assertTrue(os.path.exists(patchfile))
         p = Dep3Patch(patchfile)
-        self.assertEqual('Replace all -- in man page by \-\- to make lintian happy.', p.subject)
+        self.assertEqual(r'Replace all -- in man page by \-\- to make lintian happy.', p.subject)
         self.assertEqual("Roland Rosenfeld", p.author)
         self.assertEqual("roland@debian.org", p.email)
         self.assertEqual("", p.long_desc)
index 7fc82600eb85c57ff17930125c48542090b68f5f..14cf5939728d34f40684d7accf9c1efed5ed3db2 100644 (file)
@@ -371,7 +371,7 @@ class TestScriptDch(DebianGitTestRepo):
                       msg="""test non-debian closes 1\n\nCloses: EX-123""")
         self.add_file("closes1", "test file",
                       msg="""test non-debian closes 2\n\nCloses: EX-5678""")
-        options = ["--meta", '--meta-closes-bugnum=ex-\d+']
+        options = ["--meta", r'--meta-closes-bugnum=ex-\d+']
         lines = self.run_dch(options)
         self.assertIn("""  * test non-debian closes 1 (Closes: EX-123)\n""",
                       lines)
@@ -383,7 +383,7 @@ class TestScriptDch(DebianGitTestRepo):
                       msg="""test non-debian closes 1\n\nExample: EX-123""")
         self.add_file("closes1", "test file",
                       msg="""test non-debian closes 2\n\nExample: EX-5678""")
-        options = ["--meta", '--meta-closes-bugnum=ex-\d+',
+        options = ["--meta", r'--meta-closes-bugnum=ex-\d+',
                    '--meta-closes=Example']
         lines = self.run_dch(options)
         self.assertIn("""  * test non-debian closes 1 (Example: EX-123)\n""",
index 60cd9cffccadfd050a1720cefb15fbbd92d4fa2c..43513c2b4b887be7e8747ef5222593c59ebd89d8 100644 (file)
@@ -50,7 +50,7 @@ class TestConfigParser(unittest.TestCase, GbpLogTester):
             parser = GbpOptionParser('%scmd2' % prefix)
             self.assertEqual(parser.config['single_git_override_option1'], 'single_git_override_value1')
         for line in range(0, 2):
-            self._check_log(line, ".*Old style config section \[git-cmd2\] found please rename to \[cmd2\]")
+            self._check_log(line, r'.*Old style config section \[git-cmd2\] found please rename to \[cmd2\]')
 
     def test_single_gbp_override(self):
         """
@@ -60,7 +60,7 @@ class TestConfigParser(unittest.TestCase, GbpLogTester):
             parser = GbpOptionParser('%scmd3' % prefix)
             self.assertEqual(parser.config['single_gbp_override_option1'], 'single_gbp_override_value1')
         for line in range(0, 2):
-            self._check_log(line, ".*Old style config section \[gbp-cmd3\] found please rename to \[cmd3\]")
+            self._check_log(line, r'.*Old style config section \[gbp-cmd3\] found please rename to \[cmd3\]')
 
     def test_single_git_override_disabled_deprecations(self):
         """
index e1fb7e0ad6cafa2301a2874a9911752c8974624a..bc4b5ce0091f0730831d9a05830cd6bfee4c790c 100644 (file)
@@ -41,7 +41,7 @@ Closes: 456
         """Test non-default BTS commands. We use the example given in the
         documentation manpages."""
         options = OptionsStub()
-        options.meta_closes_bugnum = "(?:bug)?\s*ex-\d+"
+        options.meta_closes_bugnum = r'(?:bug)?\s*ex-\d+'
         lines = """This is a test commit
 some more lines...