conference-check/conference/__init__.py

35 lines
747 B
Python

"""Conference classes and functions."""
import configparser
import os
import typing
from datetime import date
import yaml
config_file_path = os.path.expanduser(
os.path.join(
os.getenv("XDG_CONFIG_HOME", "~/.config"), "conference-check", "config"
)
)
assert os.path.exists(config_file_path)
config = configparser.ConfigParser()
config.read(os.path.expanduser(config_file_path))
class LiveConference(typing.TypedDict, total=False):
"""Live conference."""
conference: str
year: int
live: date
url: str | None
def load_yaml(name: str) -> typing.Any:
"""Load YAML."""
filename = os.path.expanduser(config["data"][name])
assert os.path.exists(filename)
return yaml.safe_load(open(filename))