scripts/checktransupdate.py | 13 +++++++++++++ 1 file changed, 13 insertions(+)
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.
Signed-off-by: Cheng Ziqiu <chengziqiu@hust.edu.cn>
---
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
Cheng Ziqiu <chengziqiu@hust.edu.cn> writes: > 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. > > Signed-off-by: Cheng Ziqiu <chengziqiu@hust.edu.cn> > --- > scripts/checktransupdate.py | 13 +++++++++++++ > 1 file changed, 13 insertions(+) Perhaps we need this, but I would really rather move any files that don't conform to the English-language directory structure. Having them be anything but the same can only lead to this sort of confusion. Thanks, jon
[+CC: Vegard] Hi, On Fri, 13 Sep 2024 08:38:24 -0600, Jonathan Corbet wrote: > Cheng Ziqiu <chengziqiu@hust.edu.cn> writes: > >> 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. >> >> Signed-off-by: Cheng Ziqiu <chengziqiu@hust.edu.cn> >> --- >> scripts/checktransupdate.py | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) > > Perhaps we need this, but I would really rather move any files that > don't conform to the English-language directory structure. Having them > be anything but the same can only lead to this sort of confusion. +1 Furthermore, the "translations" extension for htmldocs available since v6.8 at: Documentation/sphinx/translations.py assumes the same structure as the English one. It might be nice for this script to warn about translation docs whose positions don't match the assumption. Thanks, Akira > > Thanks, > > jon
On Fri, Sep 13, 2024 at 4:17 PM Cheng Ziqiu <chengziqiu@hust.edu.cn> 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@hust.edu.cn> > --- > 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 > >
© 2016 - 2024 Red Hat, Inc.