优化及bug修改

This commit is contained in:
dongchangxi committed 2023-11-03 09:48:42 +08:00
1 parent 5467bbc232
commit f4254f0051
9 files changed
+265 -38

No files matched your search

+56 -2
View File
@@ -1,4 +1,4 @@
import redis,sys,os,re
import redis,sys,os,re,oss2
import platform
import xml.etree.ElementTree as ET
if platform.system() == 'Windows':
@@ -140,4 +140,58 @@ def changeRcprojFile(pid):
# 保存修改后的XML文件
tree.write(file_path)
return True
return True
#修改 rcproj 文件中的 controlpoints 文件的引用
def changeRcprojControlpointsFile(pid):
psid = libs.getPSid(pid)
# 解析XML文件
file_path = os.path.join(config.workdir, str(pid), f'{pid}.rcproj')
#判断文件是否存在
if not os.path.exists(file_path):
return False
#下载指定的psid的 points文件到本地
flag = down_points_from_oss(pid,psid)
if flag == False:
return False
tree = ET.parse(file_path)
root = tree.getroot()
# 遍历所有的reconstructions节点
for controlpoints in root.findall('controlpoints'):
#修改 controlpoints 标签内容里 双引号的内容 <controlpoints fileName="" />
controlpoints.set('fileName',f'controlpoints_{psid}.dat')
# 保存修改后的XML文件
tree.write(file_path)
return True
def down_points_from_oss(pid,psid):
# 根据前缀获取文件列表
prefix = f'points/{psid}/'
filelist = oss2.ObjectIteratorV2(config.oss_bucket, prefix=prefix)
flag = False
for file in filelist:
filename = file.key.split('/')[-1]
if filename.endswith('.dat'):
# print('正在下载:', file.key)
localfile = os.path.join(config.workdir,str(pid), filename)
config.oss_bucket.get_object_to_file(file.key, localfile)
flag = True
return flag
#判断oss上是否存在指定的controlpoints文件
def isExistControlPointsOss(pid):
psid = libs.getPSid(pid)
filePath = f'points/{psid}/controlpoints_{psid}.dat'
#判断oss上是否存在
if config.oss_bucket.object_exists(filePath):
return True
else:
return False
#将本地的controlpoints文件上传到oss上
def uploadControlPointsOss(pid):
psid = libs.getPSid(pid)
filePath = f'points/{psid}/controlpoints_{psid}.dat'
localfile = os.path.join(config.workdir,str(pid), f'{str(pid)}_wait/controlpoints0.dat')
#进行上传
config.oss_bucket.put_object_from_file(filePath, localfile)