weblate/scripts/show-extras.py
Michal Čihař 4cc1e17f42 chore: rename Python scripts to have py extension
This makes it easier to apply linting to them.
2025-07-18 12:33:16 +02:00

42 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
import re
import tomllib
print(
"""
.. Table is generated using scripts/show-extras.py
.. list-table:: Optional dependencies
:header-rows: 1
* - Optional dependency specifier
- Python packages
- Weblate feature
"""
)
indent = " "
with open("pyproject.toml", "rb") as handle:
toml_dict = tomllib.load(handle)
for section, data in toml_dict["project"]["optional-dependencies"].items():
if section == "all":
continue
# Section name
print(f"{indent}* - ``{section}``")
# Actual dependencies
dependencies = [re.split(r"[;<>=[]", dependency)[0].strip() for dependency in data]
dependencies_links = [
f"| `{dependency} <https://pypi.org/project/{dependency}>`_"
for dependency in dependencies
]
dependencies_str = f"\n{indent} ".join(dependencies_links)
print(f"{indent} - {dependencies_str}")
# Placeholder for description
print(f"{indent} -")
print()