in bot/code_review_bot/tasks/docupload.py [0:0]
def build_notice(self, artifacts, revision):
artifact = artifacts.get("public/firefox-source-docs-url.txt")
if artifact is None:
logger.warn("Missing firefox-source-docs-url.txt")
return ""
doc_url = artifact.decode("utf-8")
trees = artifacts.get("public/trees.json")
if trees is None:
logger.warn("Missing trees.json")
# The mapping is now mandatory to detect documentation changes
return ""
doc_files = [
file
for file in revision.files
if (
any(
os.path.dirname(file).startswith(prefix)
for prefix in trees.values()
)
and file.endswith(DOC_FILE_SUFFIXES)
)
or file in EXTRA_DOC_FILES
]
nb_docs = len(doc_files)
if not nb_docs:
logger.info(
"Found no documentation file in revision, skipping comment creation"
)
return ""
if nb_docs > MAX_LINKS:
return COMMENT_LINK_TO_DOC.format(diff_id=revision.diff_id, doc_url=doc_url)
nb_docs_hint = (
f"{nb_docs} documentation files were"
if nb_docs > 1
else "A documentation file was"
)
pronoun = "They" if nb_docs > 1 else "It"
doc_urls = "".join(
[
DOC_LINK.format(path=file, doc_url=direct_doc_url(file, doc_url, trees))
for file in doc_files
]
)
return COMMENT_LINKS_TO_DOC.format(
nb_docs_hint=nb_docs_hint,
diff_id=revision.diff_id,
pronoun=pronoun,
doc_urls=doc_urls,
)