minor 3.7 fixes

This commit is contained in:
Devaev Maxim 2020-09-05 05:58:33 +03:00
parent e106aaebed
commit 0c85248987
6 changed files with 34 additions and 30 deletions

View File

@ -177,6 +177,7 @@ async def run_region_task(
if entered.done(): if entered.done():
return return
exc = task.exception() exc = task.exception()
if exc is not None: if exc is not None:
raise exc raise exc

View File

@ -64,17 +64,16 @@ async def check_request_auth(auth_manager: AuthManager, exposed: HttpExposed, re
return return
basic_auth = request.headers.get("Authorization", "") basic_auth = request.headers.get("Authorization", "")
if basic_auth: if basic_auth and basic_auth[:6].lower() == "basic ":
if basic_auth[:6].lower() == "basic ": try:
try: (user, passwd) = base64.b64decode(basic_auth[6:]).decode("utf-8").split(":")
(user, passwd) = base64.b64decode(basic_auth[6:]).decode("utf-8").split(":") except Exception:
except Exception: raise UnauthorizedError()
raise UnauthorizedError() user = valid_user(user)
user = valid_user(user) set_request_auth_info(request, f"{user} (basic)")
set_request_auth_info(request, f"{user} (basic)") if not (await auth_manager.authorize(user, valid_passwd(passwd))):
if not (await auth_manager.authorize(user, valid_passwd(passwd))): raise ForbiddenError()
raise ForbiddenError() return
return
raise UnauthorizedError() raise UnauthorizedError()

View File

@ -216,7 +216,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
("resolution", valid_stream_resolution, StreamerResolutionNotSupported), ("resolution", valid_stream_resolution, StreamerResolutionNotSupported),
]: ]:
value = request.query.get(name) value = request.query.get(name)
if (value): if value:
if name not in current_params: if name not in current_params:
assert exc_cls is not None, name assert exc_cls is not None, name
raise exc_cls() raise exc_cls()

View File

@ -258,18 +258,20 @@ class UserGpio:
"type": "label", "type": "label",
"text": item[1:].strip(), "text": item[1:].strip(),
}) })
elif (parts := list(map(str.strip, item.split(",", 1)))): else:
if parts[0] in self.__inputs: parts = list(map(str.strip, item.split(",", 1)))
items.append({ if parts:
"type": "input", if parts[0] in self.__inputs:
"channel": parts[0], items.append({
}) "type": "input",
elif parts[0] in self.__outputs: "channel": parts[0],
items.append({ })
"type": "output", elif parts[0] in self.__outputs:
"channel": parts[0], items.append({
"text": (parts[1] if len(parts) > 1 else "Click"), "type": "output",
}) "channel": parts[0],
"text": (parts[1] if len(parts) > 1 else "Click"),
})
table.append(items) table.append(items)
return { return {
"header": self.__view["header"], "header": self.__view["header"],

View File

@ -130,10 +130,11 @@ def _read_keyboard_layout(path: str) -> Dict[int, At1Key]: # Keysym to evdev (a
ctrl=("ctrl" in rest), ctrl=("ctrl" in rest),
) )
x11_code = _resolve_keysym(parts[0].upper()) if "addupper" in rest:
if "addupper" in rest and x11_code != 0: x11_code = _resolve_keysym(parts[0].upper())
layout[x11_code] = At1Key( if x11_code != 0:
code=at1_code, layout[x11_code] = At1Key(
shift=True, code=at1_code,
) shift=True,
)
return layout return layout

View File

@ -134,6 +134,7 @@ def main() -> None:
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Topic :: System :: Systems Administration", "Topic :: System :: Systems Administration",
"Operating System :: POSIX :: Linux", "Operating System :: POSIX :: Linux",
"Intended Audience :: System Administrators", "Intended Audience :: System Administrators",