Store version in project metadata

This commit is contained in:
Pavel Zwerschke 2024-05-11 19:35:14 +02:00
parent 21a266e302
commit f600d682e7
No known key found for this signature in database
GPG key ID: 43E091FBB4E98046
11 changed files with 45 additions and 22 deletions

View file

@ -0,0 +1,9 @@
import importlib.metadata
import warnings
try:
__version__ = importlib.metadata.version(__name__)
except importlib.metadata.PackageNotFoundError as e:
warnings.warn(f"Could not determine version of {__name__}."
f"Did you install it correctly?\n{e!s}", stacklevel=2)
__version__ = "unknown"

View file

@ -2,9 +2,9 @@ from typing import Optional, Tuple
import keyring
from .. import __name__ as NAME
from ..logging import log
from ..utils import agetpass, ainput
from ..version import NAME
from .authenticator import Authenticator, AuthError, AuthSection

View file

@ -7,8 +7,18 @@
# importing itself, we get a few linting warnings, which we're disabling as
# well.
from . import command_local # noqa: F401 imported but unused
from . import command_ilias_web # noqa: F401 imported but unused
from . import command_kit_ilias_web # noqa: F401 imported but unused
from . import command_kit_ipd # noqa: F401 imported but unused
from .parser import PARSER, ParserLoadError, load_default_section # noqa: F401 imported but unused
from . import command_local
from . import command_ilias_web
from . import command_kit_ilias_web
from . import command_kit_ipd
from .parser import PARSER, ParserLoadError, load_default_section
__all__ = [
"command_local",
"command_ilias_web",
"command_kit_ilias_web",
"command_kit_ipd",
"PARSER",
"ParserLoadError",
"load_default_section"
]

View file

@ -4,8 +4,9 @@ from argparse import ArgumentTypeError
from pathlib import Path
from typing import Any, Callable, List, Optional, Sequence, Union
from .. import __name__ as NAME
from .. import __version__ as VERSION
from ..output_dir import OnConflict, Redownload
from ..version import NAME, VERSION
class ParserLoadError(Exception):

View file

@ -8,11 +8,12 @@ import aiohttp
import certifi
from aiohttp.client import ClientTimeout
from .. import __name__ as NAME
from .. import __version__ as VERSION
from ..auth import Authenticator
from ..config import Config
from ..logging import log
from ..utils import fmt_real_path
from ..version import NAME, VERSION
from .crawler import Crawler, CrawlerSection

View file

@ -1,2 +0,0 @@
NAME = "PFERD"
VERSION = "3.5.2"