Re: [PATCH] scripts: use ':Original:' tag to locate the origin file

From: Dongliang Mu
Date: Fri Sep 13 2024 - 07:24:06 EST


On Fri, Sep 13, 2024 at 4:17 PM Cheng Ziqiu <chengziqiu@xxxxxxxxxxx> wrote:
>
> Simply substitute path may cause file finding failed
> if we have a different dir map for translation. The
> ':Original:' tag could be used to locate the origin
> file if both the tag and file exist.

+cc yanteng's new email

>
> Signed-off-by: Cheng Ziqiu <chengziqiu@xxxxxxxxxxx>
> ---
> scripts/checktransupdate.py | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/scripts/checktransupdate.py b/scripts/checktransupdate.py
> index 578c3fecfdfd..f28176691b03 100755
> --- a/scripts/checktransupdate.py
> +++ b/scripts/checktransupdate.py
> @@ -25,6 +25,7 @@ commit 42fb9cfd5b18 ("Documentation: dev-tools: Add link to RV docs")
>
> import os
> import time
> +import re
> import logging
> from argparse import ArgumentParser, ArgumentTypeError, BooleanOptionalAction
> from datetime import datetime
> @@ -32,6 +33,18 @@ from datetime import datetime
>
> def get_origin_path(file_path):
> """Get the origin path from the translation path"""
> + with open(file_path, "r") as f:
> + content = f.read()
> + # find the origin path in the content
> + match = re.search(r":Original:\s*(?::ref:`|:doc:`)?([^\s`]+)", content)
> + if match:
> + f = match.group(1)
> + if os.path.exists(f):
> + logging.debug("Origin tag found: %s", f)
> + return f
> + else:
> + logging.warning("Origin tag found but file not exists: %s", f)
> +
> paths = file_path.split("/")
> tidx = paths.index("translations")
> opaths = paths[:tidx]
> --
> 2.34.1
>
>