diff --git a/aurweb/config.py b/aurweb/config.py index b2824abc356db4acaa095f77a5a9cbcef755312b..46c6b182be5c912824231e95f8c466347d8b7fb3 100644 --- a/aurweb/config.py +++ b/aurweb/config.py @@ -2,10 +2,7 @@ import configparser import os from typing import Any -# Publicly visible version of aurweb. This is used to display -# aurweb versioning in the footer and must be maintained. -# Todo: Make this dynamic/automated. -AURWEB_VERSION = "v6.2.0" +import tomlkit _parser = None @@ -42,6 +39,18 @@ def get(section, option): return _get_parser().get(section, option) +def _get_project_meta(): + with open(os.path.join(get("options", "aurwebdir"), "pyproject.toml")) as pyproject: + file_contents = pyproject.read() + + return tomlkit.parse(file_contents)["tool"]["poetry"] + + +# Publicly visible version of aurweb. This is used to display +# aurweb versioning in the footer and must be maintained. +AURWEB_VERSION = str(_get_project_meta()["version"]) + + def getboolean(section, option): return _get_parser().getboolean(section, option) diff --git a/poetry.lock b/poetry.lock index a2a9b3c1599425272f6bac88e74e699662e2fbba..4b98d28856e07c4660cc332b4f583b20cf36d14a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -561,14 +561,14 @@ testing = ["pre-commit"] [[package]] name = "fakeredis" -version = "2.5.0" +version = "2.6.0" description = "Fake implementation of redis API for testing purposes." category = "main" optional = false python-versions = ">=3.8.1,<4.0" files = [ - {file = "fakeredis-2.5.0-py3-none-any.whl", hash = "sha256:c718b2373123a849b17ebbc30a7256f691e41b178834cceb9d863d41207e54cf"}, - {file = "fakeredis-2.5.0.tar.gz", hash = "sha256:b0bf820179f4adc76ec60cefefa13d5d9fe92266f67242bcb0c14bea25f9b635"}, + {file = "fakeredis-2.6.0-py3-none-any.whl", hash = "sha256:94c7867edc259b81c55b93902e81a727cc1986ba09de3fcf9df51a3ad8e29b03"}, + {file = "fakeredis-2.6.0.tar.gz", hash = "sha256:3f8f72c5b990a70ae69444dd1cfe0c9805811a53752d3d21fdcda29255b00e51"}, ] [package.dependencies] @@ -1735,7 +1735,7 @@ greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platfo [package.extras] aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"] @@ -1745,14 +1745,14 @@ mssql-pyodbc = ["pyodbc"] mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] mysql-connector = ["mysql-connector-python"] -oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"] +oracle = ["cx-oracle (>=7)", "cx-oracle (>=7,<8)"] postgresql = ["psycopg2 (>=2.7)"] postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] pymysql = ["pymysql", "pymysql (<1)"] -sqlcipher = ["sqlcipher3_binary"] +sqlcipher = ["sqlcipher3-binary"] [[package]] name = "srcinfo" @@ -1827,6 +1827,18 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tomlkit" +version = "0.11.6" +description = "Style preserving TOML library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "tomlkit-0.11.6-py3-none-any.whl", hash = "sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b"}, + {file = "tomlkit-0.11.6.tar.gz", hash = "sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73"}, +] + [[package]] name = "typing-extensions" version = "4.4.0" @@ -1970,4 +1982,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools" [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.11" -content-hash = "b682cb8651578996e873aa9bafcd5f330394f1bc602c442431668bf63b8ef3e7" +content-hash = "b948985f8468d1fba21b699ce7394519ab58a62c1445ee0ab76fbcc7b7f759f2" diff --git a/pyproject.toml b/pyproject.toml index f945126d303f49599460959aedcb44c7fc9cdfdf..7133612f8ee93c9aa349c60f93e64412bb5f9f26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ combine_as_imports = true # [tool.poetry] name = "aurweb" -version = "v6.2.0" +version = "v6.2.1" license = "GPL-2.0-only" description = "Source code for the Arch User Repository's website" homepage = "https://aur.archlinux.org" @@ -95,6 +95,7 @@ posix-ipc = "^1.0.5" pyalpm = "^0.10.6" fastapi = "^0.89.1" srcinfo = "^0.1.2" +tomlkit = "^0.11.6" [tool.poetry.dev-dependencies] coverage = "^7.1.0"