提交 16132fe1 创建 作者: 新的邮箱's avatar 新的邮箱

更新 convertpdf.py

上级 1d01e5ff
...@@ -8,7 +8,7 @@ import docx ...@@ -8,7 +8,7 @@ import docx
import os import os
# 参考:这是ci文件中的传入参数 # 参考:这是ci文件中的传入参数
# python3 convertpdf.py ${CODECODE_PROTOCOL}${CODECODE_DOMAIN}:3000 ci_job_token ${CI_JOB_TOKEN} ${CI_PROJECT_ID} # python3 convertpdf.py ${CODECODE_PROTOCOL}${CODECODE_DOMAIN}:3000 ci_job_token ${CI_JOB_TOKEN} ${CI_PROJECT_ID} ${CI_JOB_ID}
# 主机地址和端口号,用于访问api时构造url # 主机地址和端口号,用于访问api时构造url
host_with_port = sys.argv[1] host_with_port = sys.argv[1]
...@@ -22,6 +22,9 @@ token = sys.argv[3] ...@@ -22,6 +22,9 @@ token = sys.argv[3]
# 传入的项目id # 传入的项目id
projectid = sys.argv[4] projectid = sys.argv[4]
# 传入的作业id
jobId = sys.argv[5]
# 调用获取主机信息api,用于访问api时使用 # 调用获取主机信息api,用于访问api时使用
gethostinfo_url = host_with_port + "/api/v4/gethostinfo?" + token_type_str + "=" + token gethostinfo_url = host_with_port + "/api/v4/gethostinfo?" + token_type_str + "=" + token
r_host = requests.get(gethostinfo_url) r_host = requests.get(gethostinfo_url)
...@@ -57,12 +60,32 @@ for item in filenames_arr: ...@@ -57,12 +60,32 @@ for item in filenames_arr:
# 此处增加空文件的判断 # 此处增加空文件的判断
try: try:
# 尝试打开文件
doc = docx.Document(item) doc = docx.Document(item)
# 如果成功打开文档,则所需的包存在 except Exception as e:
except docx.opc.exceptions.PackageNotFoundError: # 捕获异常并处理
# 如果出现PackageNotFoundError异常,则所需的包不存在 print("打开文件时出错,错误原因:", e)
os.system(item + "是空文件") print("可尝试将文件:", item, "重新另存为docx格式后上传")
continue # 将错误信息更新到cimsg中
api_url = host_with_port + "/api/v4/addcimsg?" + token_type_str + "=" + token
# 准备向接口发送的参数
data = {
'jobid': jobId,
'msgcode': 9,
'msginfo': "上传的DOCX文件存在兼容性问题,无法转换为PDF文件,可尝试将文件使用Word或WPS打开后另存为DOCX格式,然后再上传。",
'msgtype': "error"
}
try:
r = requests.post(api_url, data)
print(r.json())
except requests.exceptions.Timeout:
print("Timeout requesting")
except KeyboardInterrupt:
raise
except:
print("Unknown error")
sys.exit(1)
# 执行命令,将文件转换成pdf # 执行命令,将文件转换成pdf
convert_pdf = "soffice --headless --convert-to pdf " + "\"" + item + "\"" + " --outdir ./public" convert_pdf = "soffice --headless --convert-to pdf " + "\"" + item + "\"" + " --outdir ./public"
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论