Add exception logic for Any library

- Fix bug when a libraries.json file is not found
This commit is contained in:
Lacey Williams Henschel
2024-02-07 13:12:46 -08:00
committed by Lacey Henschel
parent 4a7200472b
commit c95e5407db
4 changed files with 30 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ from .utils import (
generate_library_docs_url,
generate_library_docs_url_v2,
generate_library_docs_url_v3,
generate_library_docs_url_v4,
generate_library_docs_url_string_ref,
generate_library_docs_url_string_view,
version_within_range,
@@ -21,6 +22,13 @@ logger = structlog.getLogger(__name__)
LIBRARY_DOCS_EXCEPTIONS = {
"any": [
{
"generator": generate_library_docs_url_v4,
"min_version": "boost_1_29_0",
"max_version": "boost_1_33_0",
}
],
"detail": [{"generator": generate_library_docs_url}],
"io": [
{"generator": generate_library_docs_url_v2, "min_version": "boost_1_73_0"},

View File

@@ -9,6 +9,7 @@ from libraries.utils import (
generate_library_docs_url,
generate_library_docs_url_v2,
generate_library_docs_url_v3,
generate_library_docs_url_v4,
generate_library_docs_url_string_ref,
generate_library_docs_url_string_view,
get_first_last_day_last_month,
@@ -50,6 +51,11 @@ def test_generate_library_docs_url_v3():
assert generate_library_docs_url_v3("boost_1_72_0", "io") == expected
def test_generate_library_docs_url_v4():
expected = "/doc/libs/boost_1_32_0/doc/html/any.html"
assert generate_library_docs_url_v4("boost_1_32_0", "any") == expected
def test_generate_library_docs_ur_string_ref():
expected = "/doc/libs/boost_1_72_0/libs/utility/doc/html/string_ref.html"
assert (

View File

@@ -53,6 +53,14 @@ def generate_library_docs_url_v3(boost_url_slug, library_slug):
return f"/doc/libs/{boost_url_slug}/libs/{library_slug}/doc/index.html"
def generate_library_docs_url_v4(boost_url_slug, library_slug):
"""Generate a documentation url with a specific format
First used for Any, versions 1.33.0 and older
"""
return f"/doc/libs/{boost_url_slug}/doc/html/{library_slug}.html"
def generate_library_docs_url_string_ref(boost_url_slug, library_slug):
"""Generate a documentation URL for the string-ref library-versions"""
return f"/doc/libs/{boost_url_slug}/libs/utility/doc/html/{library_slug}.html"

View File

@@ -262,11 +262,15 @@ def import_library_versions(version_name, token=None, version_type="tag"):
if not libraries_json:
# Can happen with older releases -- we try to catch all exceptions
# so this is just in case
logger.info(
"import_library_versions_skipped_library",
version_name=version_name,
library_name=library_name,
library_version = save_library_version_by_library_key(
library_name, version, gitmodule
)
if not library_version:
logger.info(
"import_library_versions_skipped_library",
version_name=version_name,
library_name=library_name,
)
continue
libraries = (