mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-12 22:27:47 +00:00
fix: a few typing minor issues
This commit is contained in:
parent
1c5dd4626e
commit
d184bb2bda
@ -4,7 +4,7 @@ import platform
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict, Optional
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
import click
|
import click
|
||||||
@ -13,6 +13,7 @@ import click
|
|||||||
# the web ui can be launched even where there is no configuration.
|
# the web ui can be launched even where there is no configuration.
|
||||||
from .. import fmt
|
from .. import fmt
|
||||||
from .. import env as tutor_env
|
from .. import env as tutor_env
|
||||||
|
from .. import exceptions
|
||||||
from .. import serialize
|
from .. import serialize
|
||||||
from .context import Context
|
from .context import Context
|
||||||
|
|
||||||
@ -121,12 +122,17 @@ def check_gotty_binary(root: str) -> None:
|
|||||||
compressed.extract("./gotty", dirname)
|
compressed.extract("./gotty", dirname)
|
||||||
|
|
||||||
|
|
||||||
def load_config(root: str) -> Dict[str, Any]:
|
def load_config(root: str) -> Dict[str, Optional[str]]:
|
||||||
path = config_path(root)
|
path = config_path(root)
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
save_webui_config_file(root, {"user": None, "password": None})
|
save_webui_config_file(root, {"user": None, "password": None})
|
||||||
with open(config_path(root)) as f:
|
with open(config_path(root)) as f:
|
||||||
return serialize.load(f)
|
config = serialize.load(f)
|
||||||
|
if not isinstance(config, dict):
|
||||||
|
raise exceptions.TutorError(
|
||||||
|
"Invalid webui: expected dict, got {}".format(config.__class__)
|
||||||
|
)
|
||||||
|
return config
|
||||||
|
|
||||||
|
|
||||||
def save_webui_config_file(root: str, config: Dict[str, Any]) -> None:
|
def save_webui_config_file(root: str, config: Dict[str, Any]) -> None:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
from typing import Dict, Any, Tuple
|
from typing import cast, Dict, Any, Tuple
|
||||||
|
|
||||||
from . import exceptions
|
from . import exceptions
|
||||||
from . import env
|
from . import env
|
||||||
@ -59,12 +59,19 @@ def merge(
|
|||||||
|
|
||||||
|
|
||||||
def load_defaults() -> Dict[str, Any]:
|
def load_defaults() -> Dict[str, Any]:
|
||||||
return serialize.load(env.read_template_file("config.yml"))
|
config = serialize.load(env.read_template_file("config.yml"))
|
||||||
|
return cast(Dict[str, Any], config)
|
||||||
|
|
||||||
|
|
||||||
def load_config_file(path: str) -> Dict[str, Any]:
|
def load_config_file(path: str) -> Dict[str, Any]:
|
||||||
with open(path) as f:
|
with open(path) as f:
|
||||||
return serialize.load(f.read())
|
config = serialize.load(f.read())
|
||||||
|
if not isinstance(config, dict):
|
||||||
|
raise exceptions.TutorError(
|
||||||
|
"Invalid configuration: expected dict, got {}".format(config.__class__)
|
||||||
|
)
|
||||||
|
|
||||||
|
return config
|
||||||
|
|
||||||
|
|
||||||
def load_current(root: str, defaults: Dict[str, str]) -> Dict[str, Any]:
|
def load_current(root: str, defaults: Dict[str, str]) -> Dict[str, Any]:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import re
|
import re
|
||||||
from typing import cast, Any, Dict, IO, Iterator, Tuple, Union
|
from typing import Any, IO, Iterator, Tuple, Union
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
from _io import TextIOWrapper
|
from _io import TextIOWrapper
|
||||||
@ -9,15 +9,15 @@ from yaml.scanner import ScannerError
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
|
|
||||||
def load(stream: Union[str, IO[str]]) -> Dict[str, str]:
|
def load(stream: Union[str, IO[str]]) -> Any:
|
||||||
return cast(Dict[str, str], yaml.load(stream, Loader=yaml.SafeLoader))
|
return yaml.load(stream, Loader=yaml.SafeLoader)
|
||||||
|
|
||||||
|
|
||||||
def load_all(stream: str) -> Iterator[Any]:
|
def load_all(stream: str) -> Iterator[Any]:
|
||||||
return yaml.load_all(stream, Loader=yaml.SafeLoader)
|
return yaml.load_all(stream, Loader=yaml.SafeLoader)
|
||||||
|
|
||||||
|
|
||||||
def dump(content: Dict[str, str], fileobj: TextIOWrapper) -> None:
|
def dump(content: Any, fileobj: TextIOWrapper) -> None:
|
||||||
yaml.dump(content, stream=fileobj, default_flow_style=False)
|
yaml.dump(content, stream=fileobj, default_flow_style=False)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user