basic python 3.9 support

This commit is contained in:
Devaev Maxim 2020-12-02 14:37:48 +03:00
parent 9dbf7f1d0b
commit 2b064a3bee
9 changed files with 10 additions and 7 deletions

View File

@ -65,7 +65,7 @@ def create_short_task(coro: Coroutine) -> asyncio.Task:
def get_short_tasks() -> List[asyncio.Task]:
return [
task
for task in asyncio.Task.all_tasks()
for task in asyncio.all_tasks()
if getattr(task, _ATTR_SHORT_TASK, False)
]

View File

@ -56,7 +56,7 @@ async def check_request_auth(auth_manager: AuthManager, exposed: HttpExposed, re
token = request.cookies.get(_COOKIE_AUTH_TOKEN, "")
if token:
user = auth_manager.check(valid_auth_token(token))
user = auth_manager.check(valid_auth_token(token)) # type: ignore
if not user:
set_request_auth_info(request, "- (token)")
raise ForbiddenError()

View File

@ -226,7 +226,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
if name not in current_params:
assert exc_cls is not None, name
raise exc_cls()
value = validator(value)
value = validator(value) # type: ignore
if current_params[name] != value:
self.__new_streamer_params[name] = value
await self.__streamer_notifier.notify()

View File

@ -308,7 +308,7 @@ class Streamer: # pylint: disable=too-many-instance-attributes
mtime=float(response.headers["X-Timestamp"]),
headers=tuple(
(key, value)
for (key, value) in tools.sorted_kvs(response.headers)
for (key, value) in tools.sorted_kvs(dict(response.headers))
if key.lower().startswith("x-ustreamer-") or key.lower() in [
"x-timestamp",
"access-control-allow-origin",

View File

@ -435,7 +435,7 @@ class VncServer: # pylint: disable=too-many-instance-attributes
server.close()
loop.run_until_complete(server.wait_closed())
finally:
tasks = asyncio.Task.all_tasks()
tasks = asyncio.all_tasks(loop)
for task in tasks:
task.cancel()
loop.run_until_complete(asyncio.gather(*tasks, return_exceptions=True))

View File

@ -141,6 +141,7 @@ def main() -> None:
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Topic :: System :: Systems Administration",
"Operating System :: POSIX :: Linux",
"Intended Audience :: System Administrators",

View File

@ -1,5 +1,5 @@
[mypy]
python_version = 3.8
python_version = 3.9
ignore_missing_imports = true
disallow_untyped_defs = true
strict_optional = true

View File

@ -34,6 +34,8 @@ disable =
len-as-condition,
raise-missing-from,
consider-using-in,
unsubscriptable-object,
# https://github.com/PyCQA/pylint/issues/3882
[CLASSES]
exclude-protected =

View File

@ -3,7 +3,7 @@ envlist = flake8, pylint, mypy, vulture, pytest, eslint, htmlhint
skipsdist = true
[testenv]
basepython = python3.8
basepython = python3.9
sitepackages = true
changedir = /src