134 lines
3.7 KiB
Python
134 lines
3.7 KiB
Python
![]() |
#!/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)
|