python 3.11 updates and fixes

- cleaned up (object)s
 - fixed some docstrings
 - added trailing commas introduced since python 3.5, 3.6+
 - tidied strings
 - converted some strings to f-strings
This commit is contained in:
Mark Mayo 2023-01-23 17:03:58 +13:00
parent 22210ca352
commit d456ed64c7
3 changed files with 672 additions and 570 deletions

View File

@ -15,9 +15,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import codecs
import os import os
import re import re
import codecs
from setuptools import setup from setuptools import setup
@ -31,16 +31,15 @@ def find_version(*file_paths):
# Open in Latin-1 so that we avoid encoding errors. # Open in Latin-1 so that we avoid encoding errors.
# Use codecs.open for Python 2 compatibility # Use codecs.open for Python 2 compatibility
try: try:
f = codecs.open(os.path.join(here, *file_paths), 'r', 'latin1') f = codecs.open(os.path.join(here, *file_paths), "r", "latin1")
version_file = f.read() version_file = f.read()
f.close() f.close()
except: except Exception:
raise RuntimeError("Unable to find version string.") raise RuntimeError("Unable to find version string.")
# The version line must have the form # The version line must have the form
# __version__ = 'ver' # __version__ = 'ver'
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M)
version_file, re.M)
if version_match: if version_match:
return version_match.group(1) return version_match.group(1)
raise RuntimeError("Unable to find version string.") raise RuntimeError("Unable to find version string.")
@ -48,52 +47,53 @@ def find_version(*file_paths):
# Get the long description from the relevant file # Get the long description from the relevant file
try: try:
f = codecs.open('README.rst', encoding='utf-8') f = codecs.open("README.rst", encoding="utf-8")
long_description = f.read() long_description = f.read()
f.close() f.close()
except: except Exception:
long_description = '' long_description = ""
setup( setup(
name='speedtest-cli', name="speedtest-cli",
version=find_version('speedtest.py'), version=find_version("speedtest.py"),
description=('Command line interface for testing internet bandwidth using ' description=(
'speedtest.net'), "Command line interface for testing internet bandwidth using " "speedtest.net"
),
long_description=long_description, long_description=long_description,
keywords='speedtest speedtest.net', keywords="speedtest speedtest.net",
author='Matt Martz', author="Matt Martz",
author_email='matt@sivel.net', author_email="matt@sivel.net",
url='https://github.com/sivel/speedtest-cli', url="https://github.com/sivel/speedtest-cli",
license='Apache License, Version 2.0', license="Apache License, Version 2.0",
py_modules=['speedtest'], py_modules=["speedtest"],
entry_points={ entry_points={
'console_scripts': [ "console_scripts": [
'speedtest=speedtest:main', "speedtest=speedtest:main",
'speedtest-cli=speedtest:main' "speedtest-cli=speedtest:main",
] ],
}, },
classifiers=[ classifiers=[
'Development Status :: 5 - Production/Stable', "Development Status :: 5 - Production/Stable",
'Programming Language :: Python', "Programming Language :: Python",
'Environment :: Console', "Environment :: Console",
'License :: OSI Approved :: Apache Software License', "License :: OSI Approved :: Apache Software License",
'Operating System :: OS Independent', "Operating System :: OS Independent",
'Programming Language :: Python :: 2', "Programming Language :: Python :: 2",
'Programming Language :: Python :: 2.4', "Programming Language :: Python :: 2.4",
'Programming Language :: Python :: 2.5', "Programming Language :: Python :: 2.5",
'Programming Language :: Python :: 2.6', "Programming Language :: Python :: 2.6",
'Programming Language :: Python :: 2.7', "Programming Language :: Python :: 2.7",
'Programming Language :: Python :: 3', "Programming Language :: Python :: 3",
'Programming Language :: Python :: 3.1', "Programming Language :: Python :: 3.1",
'Programming Language :: Python :: 3.2', "Programming Language :: Python :: 3.2",
'Programming Language :: Python :: 3.3', "Programming Language :: Python :: 3.3",
'Programming Language :: Python :: 3.4', "Programming Language :: Python :: 3.4",
'Programming Language :: Python :: 3.5', "Programming Language :: Python :: 3.5",
'Programming Language :: Python :: 3.6', "Programming Language :: Python :: 3.6",
'Programming Language :: Python :: 3.7', "Programming Language :: Python :: 3.7",
'Programming Language :: Python :: 3.8', "Programming Language :: Python :: 3.8",
'Programming Language :: Python :: 3.9', "Programming Language :: Python :: 3.9",
'Programming Language :: Python :: 3.10', "Programming Language :: Python :: 3.10",
] ],
) )

File diff suppressed because it is too large Load Diff

View File

@ -15,23 +15,19 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import sys
import subprocess import subprocess
import sys
cmd = [sys.executable, 'speedtest.py', '--source', '127.0.0.1'] cmd = [sys.executable, "speedtest.py", "--source", "127.0.0.1"]
p = subprocess.Popen( p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
stdout, stderr = p.communicate() stdout, stderr = p.communicate()
if p.returncode != 1: if p.returncode != 1:
raise SystemExit('%s did not fail with exit code 1' % ' '.join(cmd)) raise SystemExit(f"{' '.join(cmd)} did not fail with exit code 1")
if 'Invalid argument'.encode() not in stderr: if "Invalid argument".encode() not in stderr:
raise SystemExit( raise SystemExit(
'"Invalid argument" not found in stderr:\n%s' % stderr.decode() f'"Invalid argument" not found in stderr:\n{stderr.decode()}',
) )