Passed
Push — main ( 87238c...9f1476 )
by Douglas
02:33
created

pocketutils._meta   A

Complexity

Total Complexity 0

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 0
eloc 26
dl 0
loc 37
rs 10
c 0
b 0
f 0
1
# SPDX-FileCopyrightText: Copyright 2020-2023, Contributors to pocketutils
2
# SPDX-PackageHomePage: https://github.com/dmyersturnbull/pocketutils
3
# SPDX-License-Identifier: Apache-2.0
4
"""
5
Metadata and environment variables.
6
"""
7
8
import logging
9
import tomllib
10
from importlib.metadata import PackageNotFoundError
11
from importlib.metadata import metadata as __load
12
from pathlib import Path
13
14
__all__ = ["Metadata"]
15
16
_pkg = Path(__file__).parent.name
17
logger = logging.getLogger(_pkg)
18
_metadata = {}
19
try:
20
    _metadata = __load(_pkg)
21
except PackageNotFoundError:  # nocov
22
    _pyproject = Path(__file__).parent / "pyproject.toml"
23
    if _pyproject.exists():
24
        _data = tomllib.loads(_pyproject.read_text(encoding="utf-8"))
25
        _metadata = {k.capitalize(): v for k, v in _data["project"]}
26
    else:
27
        logger.error(f"Could not load metadata for package {_pkg}. Is it installed?")
28
29
30
class Metadata:
31
    pkg = _pkg
32
    homepage = _metadata.get("Home-page")
33
    title = _metadata.get("Name")
34
    summary = _metadata.get("Summary")
35
    license = _metadata.get("License")
36
    version = _metadata.get("Version")
37