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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux