2f8eded
From 15d44f02a391764da1ce1f239caef819f08beed8 Mon Sep 17 00:00:00 2001
2f8eded
From: Adrian Sampson <adrian@radbox.org>
2f8eded
Date: Sun, 22 Jul 2018 12:34:19 -0400
2f8eded
Subject: [PATCH] Fix Python 3.7 compatibility (#2978)
2f8eded
2f8eded
---
2f8eded
 beets/autotag/hooks.py | 8 +++++++-
2f8eded
 docs/changelog.rst     | 2 ++
2f8eded
 2 files changed, 9 insertions(+), 1 deletion(-)
2f8eded
2f8eded
diff --git a/beets/autotag/hooks.py b/beets/autotag/hooks.py
2f8eded
index 3615a93337b8..1c62a54c5c35 100644
2f8eded
--- a/beets/autotag/hooks.py
2f8eded
+++ b/beets/autotag/hooks.py
2f8eded
@@ -31,6 +31,12 @@ import six
2f8eded
 
2f8eded
 log = logging.getLogger('beets')
2f8eded
 
2f8eded
+# The name of the type for patterns in re changed in Python 3.7.
2f8eded
+try:
2f8eded
+    Pattern = re._pattern_type
2f8eded
+except AttributeError:
2f8eded
+    Pattern = re.Pattern
2f8eded
+
2f8eded
 
2f8eded
 # Classes used to represent candidate options.
2f8eded
 
2f8eded
@@ -433,7 +439,7 @@ class Distance(object):
2f8eded
         be a compiled regular expression, in which case it will be
2f8eded
         matched against `value2`.
2f8eded
         """
2f8eded
-        if isinstance(value1, re._pattern_type):
2f8eded
+        if isinstance(value1, Pattern):
2f8eded
             return bool(value1.match(value2))
2f8eded
         return value1 == value2
2f8eded
 
2f8eded
-- 
2f8eded
2.20.1
2f8eded