zulip_bots: Remove fallback code for Python < 3.5.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
56f4d3b2a8
commit
f2e2f1c7ff
|
@ -1,12 +1,8 @@
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from unittest import skipIf
|
|
||||||
|
|
||||||
from sys import version_info
|
|
||||||
|
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
from zulip_bots.test_lib import BotTestCase, DefaultTests
|
from zulip_bots.test_lib import BotTestCase, DefaultTests
|
||||||
|
|
||||||
@skipIf(version_info[:2] < (3, 5), "monkeytestit requires python3.5+")
|
|
||||||
class TestMonkeyTestitBot(BotTestCase, DefaultTests):
|
class TestMonkeyTestitBot(BotTestCase, DefaultTests):
|
||||||
bot_name = "monkeytestit"
|
bot_name = "monkeytestit"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import sys
|
import importlib
|
||||||
|
import importlib.util
|
||||||
import os
|
import os
|
||||||
from typing import Any, Optional, Text, Tuple
|
from typing import Any, Optional, Text, Tuple
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
@ -6,25 +7,15 @@ from pathlib import Path
|
||||||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
def import_module_from_source(path: Text, name: Text) -> Any:
|
def import_module_from_source(path: Text, name: Text) -> Any:
|
||||||
|
spec = importlib.util.spec_from_file_location(name, path)
|
||||||
# importlib.util.module_from_spec is supported from Python3.5
|
module = importlib.util.module_from_spec(spec)
|
||||||
py_version = sys.version_info
|
loader = spec.loader
|
||||||
if py_version.major < 3 or (py_version.major == 3 and py_version.minor < 5):
|
if loader is None:
|
||||||
import imp
|
return None
|
||||||
module = imp.load_source(name, path)
|
loader.exec_module(module) # type: ignore # FIXME: typeshed issue?
|
||||||
else:
|
|
||||||
import importlib.util
|
|
||||||
spec = importlib.util.spec_from_file_location(name, path)
|
|
||||||
module = importlib.util.module_from_spec(spec)
|
|
||||||
loader = spec.loader
|
|
||||||
if loader is None:
|
|
||||||
return None
|
|
||||||
loader.exec_module(module) # type: ignore # FIXME: typeshed issue?
|
|
||||||
|
|
||||||
return module
|
return module
|
||||||
|
|
||||||
def import_module_by_name(name: Text) -> Any:
|
def import_module_by_name(name: Text) -> Any:
|
||||||
import importlib
|
|
||||||
try:
|
try:
|
||||||
return importlib.import_module(name)
|
return importlib.import_module(name)
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|
Loading…
Reference in a new issue