summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2022-02-10 01:00:01 +0200
committerAlex Grönholm <alex.gronholm@nextday.fi>2022-02-10 01:00:01 +0200
commitc9f8c37533bbe5019df7f9a45d2a2ea39a39a66c (patch)
treec09ec444212222ef19944884349139cd4f6cf5d5
parent5a0caff369e9bd66c063a05490c8ef507a647293 (diff)
downloadapscheduler-c9f8c37533bbe5019df7f9a45d2a2ea39a39a66c.tar.gz
Added support for PySide6 to the Qt scheduler
-rw-r--r--apscheduler/schedulers/qt.py11
-rw-r--r--docs/versionhistory.rst1
-rw-r--r--tests/test_schedulers.py5
-rw-r--r--tox.ini4
4 files changed, 13 insertions, 8 deletions
diff --git a/apscheduler/schedulers/qt.py b/apscheduler/schedulers/qt.py
index dda77d7..600f6e6 100644
--- a/apscheduler/schedulers/qt.py
+++ b/apscheduler/schedulers/qt.py
@@ -9,13 +9,16 @@ except (ImportError, RuntimeError): # pragma: nocover
from PyQt4.QtCore import QObject, QTimer
except ImportError:
try:
- from PySide2.QtCore import QObject, QTimer # noqa
+ from PySide6.QtCore import QObject, QTimer # noqa
except ImportError:
try:
- from PySide.QtCore import QObject, QTimer # noqa
+ from PySide2.QtCore import QObject, QTimer # noqa
except ImportError:
- raise ImportError('QtScheduler requires either PyQt5, PyQt4, PySide2 '
- 'or PySide installed')
+ try:
+ from PySide.QtCore import QObject, QTimer # noqa
+ except ImportError:
+ raise ImportError('QtScheduler requires either PyQt5, PyQt4, PySide6, PySide2 '
+ 'or PySide installed')
class QtScheduler(BaseScheduler):
diff --git a/docs/versionhistory.rst b/docs/versionhistory.rst
index b7b8fc2..b56bfd2 100644
--- a/docs/versionhistory.rst
+++ b/docs/versionhistory.rst
@@ -7,6 +7,7 @@ APScheduler, see the :doc:`migration section <migration>`.
UNRELEASED
----------
+* Added support for PySide6 to the Qt scheduler
* No longer enforce pytz time zones (support for others is experimental in the 3.x series)
* Fixed compatibility with PyMongo 4
* Fixed pytz deprecation warnings
diff --git a/tests/test_schedulers.py b/tests/test_schedulers.py
index 515b824..48d04e0 100644
--- a/tests/test_schedulers.py
+++ b/tests/test_schedulers.py
@@ -1039,11 +1039,10 @@ class TestTwistedScheduler(SchedulerImplementationTestBase):
thread.join()
-@pytest.mark.skip
class TestQtScheduler(SchedulerImplementationTestBase):
@pytest.fixture(scope='class')
def coreapp(self):
- QtCore = pytest.importorskip('PySide.QtCore')
+ QtCore = pytest.importorskip('PySide6.QtCore')
QtCore.QCoreApplication([])
@pytest.fixture
@@ -1052,7 +1051,7 @@ class TestQtScheduler(SchedulerImplementationTestBase):
return qt.QtScheduler()
def wait_event(self, queue):
- from PySide.QtCore import QCoreApplication
+ from PySide6.QtCore import QCoreApplication
while queue.empty():
QCoreApplication.processEvents()
diff --git a/tox.ini b/tox.ini
index e9db9b0..33ddd42 100644
--- a/tox.ini
+++ b/tox.ini
@@ -15,7 +15,9 @@ extras = testing
tornado
twisted
zookeeper
-deps = {py35,py36,py37}: PyQt5
+deps =
+ {py35}: PyQt5
+ {py36,py37,py38,py39,py310}: PySide6
[testenv:py34]
deps = twisted < 19.7