Compare commits

...

2 commits

Author SHA1 Message Date
emdee
97db0946da Fixes 2022-11-16 20:59:26 +00:00
emdee
12ff9b924e add setup.py 2022-11-16 18:53:54 +00:00
4 changed files with 41 additions and 43 deletions

View file

@ -62,10 +62,10 @@ for the PyQt ```app.exec``` and the exiting of the program.
We've decided to use the best of the shims that merge the Python
```asyncio``` and Qt event loops:
[qasyc](https://github.com/CabbageDevelopment/qasync). This is seen as
the successor to the sorta abandoned[quamash](https://github.com/harvimt/quamash).
the successor to the sorta abandoned [quamash](https://github.com/harvimt/quamash).
The code is based on a
[comment](https://github.com/CabbageDevelopment/qasync/issues/35#issuecomment-1315060043)
by [Alex Marcha](https://github.com/hosaka) who's excellent code helped me.
by [Alex March](https://github.com/hosaka) who's excellent code helped me.
As this is my first use of ```asyncio``` and ```qasync``` I may have
introduced some errors and it may be improved on, but it works, and
it not a monolithic Qt program, so it can be used as a library.

View file

@ -3,15 +3,15 @@
import sys
import os
import qasync
import asyncio
import time
import random
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import (QProgressBar, QWidget, QVBoxLayout)
# let qasync figure out what Qt we are using - we dont care
from qasync import QApplication, QtWidgets, QEventLoop
from phantompy import Render
# if you want an example of looking for things in downloaded HTML:
# from lookupdns import LookFor as Render
from support_phantompy import vsetup_logging, omain_argparser
@ -28,7 +28,7 @@ class Widget(QtWidgets.QWidget):
box = QtWidgets.QHBoxLayout()
self.setLayout(box)
box.addWidget(self._label)
self.progress = QProgressBar()
self.progress = QtWidgets.QProgressBar()
self.progress.setRange(0, 99)
box.addWidget(self.progress)
@ -80,7 +80,7 @@ def iMain(largs):
vsetup_logging(oargs.log_level, logfile='', stream=sys.stderr)
except: pass
app = QtWidgets.QApplication([])
app = QApplication([])
app.lstart = []
if bgui:
widget = Widget()
@ -89,7 +89,7 @@ def iMain(largs):
else:
widget = None
loop = qasync.QEventLoop(app)
loop = QEventLoop(app)
asyncio.set_event_loop(loop)
url = oargs.html_url

View file

@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
# -*-mode: python; indent-tabs-mode: nil; py-indent-offset: 4; coding: utf-8 -*
from setuptools import setup
@ -8,36 +8,34 @@ long_description = "\n\n".join([
open("README.md").read(),
])
setup(
name="pahntompy",
version=__version__,
description="""A simple replacement for phantomjs using PyQt""",
long_description=long_description,
author="Michael Franzl (originally) Goebel",
author_email='',
license="1clause BSD",
packages=['phantompy'],
# url="",
# These are for reference only, pip is not able to download packages
# from github because the archives do not include the project-name.
download_url="https://github.com/debops/yaml2rst/releases",
keywords=['JavaScript', 'phantomjs'],
python_requires=">=3.6",
# probably works on PyQt6 and PySide2 but untested
install_requires=['qasync', 'PyQt5'],
entry_points={
'console_scripts': [
'phantompy = phantompy.__main__:iMain',
]
},
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Web Developers',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Topic :: Software Development :: Documentation',
],
)
if __name__ == '__main__':
setup(
name="phantompy",
version=__version__,
description="""A simple replacement for phantomjs using PyQt""",
long_description=long_description,
author="Michael Franzl (originally)",
author_email='',
license="1clause BSD",
packages=['phantompy'],
# url="",
# download_url="https://",
keywords=['JavaScript', 'phantomjs'],
# maybe less - nothing fancy
python_requires=">=3.6",
# probably works on PyQt6 and PySide2 but untested
# https://github.com/CabbageDevelopment/qasync/
install_requires=['qasync', 'PyQt5'],
entry_points={
'console_scripts': ['phantompy = phantompy.__main__:iMain', ]},
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Web Developers',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Topic :: Software Development :: Documentation',
],
)

View file

@ -108,7 +108,7 @@ def omain_argparser(_=None):
help="Write loaded and javascripted result to a HTML file")
parser.add_argument('--pdf_output', type=str, default='',
help="Write loaded and javascripted result to a PDF file")
parser.add_argument('--show_gui', type=bool, default=False, store_action=True),
parser.add_argument('--show_gui', type=bool, default=False, store_action=True,
help="show a progress meter that doesn't work")
parser.add_argument('html_url', type=str, nargs='?',
required=True,