From 8c23432060fe8ed54d3f243873bc28c8970fbf5c Mon Sep 17 00:00:00 2001 From: davidchen Date: Sat, 22 Sep 2018 21:00:10 +0800 Subject: [PATCH] raise ImportError while neither version or __version__ works --- rest_framework/compat.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/rest_framework/compat.py b/rest_framework/compat.py index 4621ab359..192ab1ae8 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -161,11 +161,17 @@ if 'patch' not in View.http_method_names: try: import markdown - if hasattr(markdown, 'version'): + try: + # for Markdown < 3.0 markdown_version = markdown.version - else: - # >= 3.0 - markdown_version = markdown.__version__ + except AttributeError: + # for Markdown >= 3.0 + try: + markdown_version = markdown.__version__ + except AttributeError: + import warnings + warnings.warn("Cannot decide Markdown's version", ImportWarning) + raise ImportError("Cannot decide Markdown's version") if markdown_version <= '2.2': HEADERID_EXT_PATH = 'headerid'