%global _empty_manifest_terminate_build 0 Name: python-qt4reactor Version: 1.6 Release: 1 Summary: Twisted Qt Integration License: MIT URL: https://github.com/ghtdak/qtreactor Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c7/7b/3433ca2a74fa31d7dd5f455ee6ff8ee772bef433c950e1e24c7f057c03a4/qt4reactor-1.6.tar.gz BuildArch: noarch %description Before running / importing any other Twisted code, invoke: app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyqt4') or app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyside4') alternatively (gui example): app = PyQt4.QtGui(sys.argv) # your code to init QtGui from qtreactor import pyqt4reactor pyqt4reactor.install() Testing ~~~~~~~ trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet] Testing with a Gui ~~~~~~~~~~~~~~~~~~ Twisted trial can be run for a Gui test using gtrial. Run Trial in the same directory as bin/gtrial and it pops up a trivial gui... hit the buton and it all runs the same... don't use the --reactor option when calling gtrial... but all the other options appear to work. cp gtrial cd && trial If you're writing a conventional Qt application and just want twisted as an addon, you can get that by calling reactor.runReturn() instead of run(). This call needs to occur after your installation of of the reactor and after QApplication.exec\_() (or QCoreApplication.exec\_() whichever you are using. reactor.run() will also work as expected in a typical twisted application Note that if a QApplication or QCoreApplication instance isn't constructed prior to calling reactor run, an internally owned QCoreApplication is created and destroyed. This won't work if you call runReturn instead of run unless you take responsibility for destroying QCoreApplication yourself... However, most users want this reactor to do gui stuff so this shouldn't be an issue. Performance impact of Qt has been reduced by minimizing use of signaling which is expensive. Examples / tests in ghtTests %package -n python3-qt4reactor Summary: Twisted Qt Integration Provides: python-qt4reactor BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-qt4reactor Before running / importing any other Twisted code, invoke: app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyqt4') or app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyside4') alternatively (gui example): app = PyQt4.QtGui(sys.argv) # your code to init QtGui from qtreactor import pyqt4reactor pyqt4reactor.install() Testing ~~~~~~~ trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet] Testing with a Gui ~~~~~~~~~~~~~~~~~~ Twisted trial can be run for a Gui test using gtrial. Run Trial in the same directory as bin/gtrial and it pops up a trivial gui... hit the buton and it all runs the same... don't use the --reactor option when calling gtrial... but all the other options appear to work. cp gtrial cd && trial If you're writing a conventional Qt application and just want twisted as an addon, you can get that by calling reactor.runReturn() instead of run(). This call needs to occur after your installation of of the reactor and after QApplication.exec\_() (or QCoreApplication.exec\_() whichever you are using. reactor.run() will also work as expected in a typical twisted application Note that if a QApplication or QCoreApplication instance isn't constructed prior to calling reactor run, an internally owned QCoreApplication is created and destroyed. This won't work if you call runReturn instead of run unless you take responsibility for destroying QCoreApplication yourself... However, most users want this reactor to do gui stuff so this shouldn't be an issue. Performance impact of Qt has been reduced by minimizing use of signaling which is expensive. Examples / tests in ghtTests %package help Summary: Development documents and examples for qt4reactor Provides: python3-qt4reactor-doc %description help Before running / importing any other Twisted code, invoke: app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyqt4') or app = QApplication(sys.argv) # your code to init QtCore from twisted.application import reactors reactors.installReactor('pyside4') alternatively (gui example): app = PyQt4.QtGui(sys.argv) # your code to init QtGui from qtreactor import pyqt4reactor pyqt4reactor.install() Testing ~~~~~~~ trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet] Testing with a Gui ~~~~~~~~~~~~~~~~~~ Twisted trial can be run for a Gui test using gtrial. Run Trial in the same directory as bin/gtrial and it pops up a trivial gui... hit the buton and it all runs the same... don't use the --reactor option when calling gtrial... but all the other options appear to work. cp gtrial cd && trial If you're writing a conventional Qt application and just want twisted as an addon, you can get that by calling reactor.runReturn() instead of run(). This call needs to occur after your installation of of the reactor and after QApplication.exec\_() (or QCoreApplication.exec\_() whichever you are using. reactor.run() will also work as expected in a typical twisted application Note that if a QApplication or QCoreApplication instance isn't constructed prior to calling reactor run, an internally owned QCoreApplication is created and destroyed. This won't work if you call runReturn instead of run unless you take responsibility for destroying QCoreApplication yourself... However, most users want this reactor to do gui stuff so this shouldn't be an issue. Performance impact of Qt has been reduced by minimizing use of signaling which is expensive. Examples / tests in ghtTests %prep %autosetup -n qt4reactor-1.6 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-qt4reactor -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.6-1 - Package Spec generated