generators: add common Python data
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Anna “CyberTailor” 2023-06-26 16:52:31 +05:00
parent 7eea97de59
commit 8f88a9ead6
Signed by: CyberTaIlor
GPG Key ID: E7B76EDC50864BB1
6 changed files with 44 additions and 24 deletions

View File

@ -19,8 +19,8 @@ import gentle.generators.composer
import gentle.generators.doap
import gentle.generators.hpack
import gentle.generators.npm
import gentle.generators.pkg_info
import gentle.generators.pyproject
import gentle.generators.python.pkg_info
import gentle.generators.python.pyproject
import gentle.generators.shards
try:

View File

@ -0,0 +1,10 @@
# SPDX-License-Identifier: WTFPL
# SPDX-FileCopyrightText: 2023 Anna <cyber@sysrq.in>
# No warranty
""" Common data for Python generators """
BUG_TRACKER_LABELS = ["bug tracker", "bugtracker", "bugs", "issues"]
CHANGELOG_LABELS = ["changelog", "changes"]
DOCS_LABELS = ["doc", "docs", "documentation"]
HOME_REPO_LABELS = ["source", "repo", "repository", "home", "homepage"]

View File

@ -18,6 +18,12 @@ import logging
from pathlib import Path
from gentle.generators import AbstractGenerator
from gentle.generators.python import (
BUG_TRACKER_LABELS,
CHANGELOG_LABELS,
DOCS_LABELS,
HOME_REPO_LABELS
)
from gentle.metadata import MetadataXML
from gentle.metadata.utils import extract_name_email, extract_remote_id
@ -62,16 +68,15 @@ class PkgInfoGenerator(AbstractGenerator):
name, value = [entry.strip()
for entry in url.split(",", maxsplit=1)]
logger.info("Found %s: %s", name, value)
match name.lower():
case "bug tracker" | "bugtracker" | "bugs" | "issues":
mxml.set_upstream_bugs_to(value)
case "changelog" | "changes":
mxml.set_upstream_changelog(value)
case "doc" | "docs" | "documentation":
mxml.set_upstream_doc(value)
case "source" | "repo" | "repository" | "home" | "homepage":
if (remote_id := extract_remote_id(value)) is not None:
mxml.add_upstream_remote_id(remote_id)
if name.lower() in BUG_TRACKER_LABELS:
mxml.set_upstream_bugs_to(value)
elif name.lower() in CHANGELOG_LABELS:
mxml.set_upstream_changelog(value)
elif name.lower() in DOCS_LABELS:
mxml.set_upstream_doc(value)
elif name.lower() in HOME_REPO_LABELS:
if (remote_id := extract_remote_id(value)) is not None:
mxml.add_upstream_remote_id(remote_id)
@property
def active(self) -> bool:

View File

@ -18,6 +18,12 @@ import logging
from pathlib import Path
from gentle.generators import AbstractGenerator
from gentle.generators.python import (
BUG_TRACKER_LABELS,
CHANGELOG_LABELS,
DOCS_LABELS,
HOME_REPO_LABELS
)
from gentle.metadata import Person, MetadataXML
from gentle.metadata.utils import extract_remote_id
@ -57,16 +63,15 @@ class PyprojectGenerator(AbstractGenerator):
for name, value in project.get("urls").items():
logger.info("Found %s: %s", name, value)
match name.lower():
case "bug tracker" | "bugtracker" | "bugs" | "issues":
mxml.set_upstream_bugs_to(value)
case "changelog" | "changes":
mxml.set_upstream_changelog(value)
case "doc" | "docs" | "documentation":
mxml.set_upstream_doc(value)
case "source" | "repo" | "repository" | "home" | "homepage":
if (remote_id := extract_remote_id(value)) is not None:
mxml.add_upstream_remote_id(remote_id)
if name.lower() in BUG_TRACKER_LABELS:
mxml.set_upstream_bugs_to(value)
elif name.lower() in CHANGELOG_LABELS:
mxml.set_upstream_changelog(value)
elif name.lower() in DOCS_LABELS:
mxml.set_upstream_doc(value)
elif name.lower() in HOME_REPO_LABELS:
if (remote_id := extract_remote_id(value)) is not None:
mxml.add_upstream_remote_id(remote_id)
@property
def active(self) -> bool:

View File

@ -7,7 +7,7 @@ from pathlib import Path
import pytest
from gentle.generators.pkg_info import PkgInfoGenerator
from gentle.generators.python.pkg_info import PkgInfoGenerator
from gentle.metadata import MetadataXML
from tests.utils import compare_mxml

View File

@ -7,7 +7,7 @@ from pathlib import Path
import pytest
from gentle.generators.pyproject import PyprojectGenerator
from gentle.generators.python.pyproject import PyprojectGenerator
from gentle.metadata import MetadataXML
from tests.utils import compare_mxml