2025-02-27 17:59:18 +08:00

134 lines
3.7 KiB
Python
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
import os
import subprocess
import sys
import re
import argparse
import subprocess
import time
from pathlib import Path
def run(command):
# 执行sed命令
result = subprocess.run(command, shell=True, text=True, capture_output=True)
# 获取输出
output = result.stdout.strip()
return output
def convert_to_utf8(file_path):
try:
# 读取文件内容
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 将内容转换成UTF-8编码的字符串
converted_content = content.encode('utf-8')
# 写入新的文件
with open(file_path, 'wb') as file:
file.write(converted_content)
print(f"File '{file_path}' has been converted to UTF-8 encoding.")
except Exception as e:
print(f"An error occurred: {e}")
def replace_chinese_symbols_with_english(file_path):
# 使用正则表达式匹配所有中文字符
pattern = re.compile(r'[\u4e00-\u9fa5]+')
# 读取原始文件内容
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 替换中文字符为英文符号
new_content = pattern.sub(lambda x: ''.join(['#' for _ in x.group()]), content)
# 将修改后的内容写回文件
with open(file_path, 'w', encoding='utf-8') as file:
file.write(new_content)
def fileStringDel(file_name):
pattern = r'English'
regex = re.compile(pattern, re.MULTILINE | re.IGNORECASE)
with open(file_name, 'r') as file:
lines = file.readlines()
with open(file_name, 'w') as file:
file.writelines(filter(lambda x: not regex.match(x), lines))
def fileStringReplace(name, old, new):
with open(name, 'r') as file :
content = file.read()
if old in content:
print("Found in the string.")
else:
print("Not found in the string: %s" % old)
return
content = content.replace(old, new)
with open(name, 'w') as file :
file.write(content)
def fileStringAppend(name, old, new):
with open(name, 'r') as file :
content = file.read()
if old in content:
print("Found in the string.")
else:
print("Not found in the string: %s" % old)
return
content = content.replace(old, old + "\n" + new)
with open(name, 'w') as file :
file.write(content)
def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument('--tex', type=str)
args = parser.parse_args()
fileStringAppend(args.tex,
"\pagestyle{empty}" + "\n"
+ "\sphinxmaketitle" + "\n"
+ "\pagestyle{plain}" + "\n"
+ "\sphinxtableofcontents" + "\n"
+ "\pagestyle{normal}" + "\n"
+ "\phantomsection\label{\detokenize{index::doc}}"
,
"\pagestyle{fancy}" + "\n"
+ "\\fancyhf{}" + "\n"
+ "\\fancyhead[L]{\\textbf {Audio Video Development Kits Document}}" + "\n"
+ "\\fancyfoot[L]{\\textbf {Beken Corporation Proprietary and Confidential}}" + "\n"
+ "\\fancyfoot[R]{\\textbf {Page \\thepage}}" + "\n"
+ "\\renewcommand{\\footrulewidth}{0.5pt}" + "\n"
+ "\\renewcommand{\headheight}{14.5pt}" + "\n"
+ "\\renewcommand{\headwidth}{\\textwidth}" + "\n"
)
fileStringAppend(args.tex, "\\usepackage{babel}",
"\\usepackage{graphicx}" + '\n'
+ "\\usepackage{hyperref}"
)
#fileStringDel(args.tex)
run("sed -i '/{{\[}English{\]}}$/d' " + args.tex)
run("sed -i '/{{\[}中文{\]}}$/d' " + args.tex)
#run("sed 's//:/g'" + args.tex)
#replace_chinese_symbols_with_english(args.tex)
makefile = os.path.dirname(args.tex) + "/Makefile"
fileStringAppend(makefile, "PDFLATEX = latexmk",
"PDFLATEX = latexmk -interaction=nonstopmode"
)
if __name__ == "__main__":
main(sys.argv)