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