$def with (project, repo, readme, package_releases, pyproject, api_python, test_results, test_coverage, mentions) $var breadcrumbs = ("projects", "Projects") $ title = project $var title_classes = ["p-name"] $var classes = ["h-ragt-ag-project"] $ issues = 0 $ likes = 0 $for mention in mentions: $if mention["data"]["comment_type"][0] == "like": $ likes += 1 $elif mention["data"]["comment_type"][0] == "like": $ likes += 1
$if issues: $emoji.emojize(":note:") $if likes: $emoji.emojize(":red_heart:") $likes
$#{py_project.pop('version')}
"
$py_project.pop("description")
$if keywords := py_project.pop("keywords", None):
$for keyword in keywords:
$keyword\
$if not loop.last:
,
$if test_results["errors"]: $ test_color = "red" $ test_indicator = "■" $ plural = "" $if test_results["errors"] > 1: $ plural = "s" $ test_msg = f"{test_results['errors']} test{plural} of {test_results['tests']} failing" $else: $ test_color = "green" $ test_indicator = "●" $ plural = "" $if test_results["tests"] > 1: $ plural = "s" $ test_msg = f"{test_results['tests']} test{plural} passing" $:test_indicator $test_msg in $test_results["time"]s
$metrics["lines"][1]
LLOC,
$if metrics["maintainability"] >= 19:
highly maintainable
$elif metrics["maintainability"] >= 9:
moderately maintainable
$else:
difficult to maintain
$metrics["lines"][1]
LLOC,
$if metrics["maintainability"] >= 19:
highly maintainable
$elif metrics["maintainability"] >= 9:
moderately maintainable
$else:
difficult to maintain
$for obj_name, obj_complexity in metrics["complexity"].items():
$obj_name $obj_complexity
Package: $py_project.pop("name")
$for source in py_project.pop("source", []):
$if source["name"] == "main":
@$source["url"]
Requires:
python $py_deps.pop("python")
,
$for dep, version in sorted(py_deps.items()):
$ dep_nobreak = dep.replace("-", "-")
$:dep_nobreak
\
$if not loop.last:
,
Provides: $if plugins: $if webapps := plugins.pop("webapps", None): webapps ( $for webapp, webapp_callable in webapps.items(): $ webapp_path = webapp_callable.replace(".", "/").replace(":", "#") $webapp
$if not loop.last: , \ ) $if websites := plugins.pop("websites", None): websites ( $for webapp, webapp_callable in websites.items(): $ webapp_path = webapp_callable.replace(".", "/").replace(":", "#") $webapp\ $if not loop.last: , \ ) $if scripts: scripts ( $for script, script_callable in scripts.items(): $ script_path = script_callable.replace(".", "/").replace(":", "#") $script\ $if not loop.last: , \ ) $if plugins or scripts: $ license = py_project.pop("license") $ licenses = {"0BSD": "BSD Zero Clause License", $ "BSD-2-Clause": 'BSD 2-Clause "Simplified" License', $ "BSD-3-Clause": 'BSD 3-Clause "Modified" License', $ "AGPL-3.0-or-later": "GNU Affero General Public License v3.0 or later"}Licensed: $licenses[license]
\ $git_clone
$commit["hash"][:7].upper()
$:str(mkdn(commit["message"]))[3:-4]
$# $commit["author_name"]
\ $for file in known_files: $ file, is_dir, _ = str(file).partition("/") $if file == prev_file: $continue $file\ $if is_dir: /\ $ prev_file = file $if not loop.last: ,
$ prev_file = None