65 lines
2.6 KiB
Python
65 lines
2.6 KiB
Python
#!/usr/bin/python
|
|
import oss2, os, sys, shutil, requests
|
|
from PIL import Image
|
|
from threading import Thread
|
|
import time
|
|
|
|
def getPSType(pid):
|
|
res = requests.get(get_ps_type_url, params={'pid': pid})
|
|
return res.json()['data']['type']
|
|
|
|
def down(path, pid):
|
|
psType = getPSType(pid)
|
|
if psType == 1:
|
|
camera = '103'
|
|
elif psType == 2:
|
|
camera = '74'
|
|
else:
|
|
print('未知的相机类型,', psType)
|
|
return
|
|
|
|
photo1_file = f'photos/{pid}/photo1/{camera}_1.jpg'
|
|
photo2_file = f'photos/{pid}/photo2/{camera}_8.jpg'
|
|
texture_auto_file = f'objs/auto/{pid}/{pid}.jpg'
|
|
texture_print_file = f'objs/print/{pid}/{pid}Tex1.jpg'
|
|
if oss_client.object_exists(photo1_file) and oss_client.object_exists(photo2_file):
|
|
os.mkdir(f'{workdir}/{pid}')
|
|
os.mkdir(f'{workdir}/{pid}/photo1')
|
|
os.mkdir(f'{workdir}/{pid}/photo2')
|
|
print(f'{pid}正在下载 {photo1_file}')
|
|
print(f'{pid}正在下载 {photo2_file}')
|
|
print(f'{pid}正在下载 {texture_auto_file}')
|
|
print(f'{pid}正在下载 {texture_print_file}')
|
|
oss_client.get_object_to_file(photo1_file, f'{workdir}/{pid}/photo1/{camera}_1.jpg')
|
|
oss_client.get_object_to_file(photo2_file, f'{workdir}/{pid}/photo2/{camera}_8.jpg')
|
|
if oss_client.object_exists(texture_auto_file):
|
|
os.mkdir(f'{workdir}/{pid}/texture_auto')
|
|
oss_client.get_object_to_file(texture_auto_file, f'{workdir}/{pid}/texture_auto/{pid}.jpg')
|
|
if oss_client.object_exists(texture_print_file):
|
|
os.mkdir(f'{workdir}/{pid}/texture_print')
|
|
oss_client.get_object_to_file(texture_print_file, f'{workdir}/{pid}/texture_print/{pid}Tex1.jpg')
|
|
print(f'{pid}下载完成')
|
|
else:
|
|
print(f'{pid} 文件不完整, 跳过下载')
|
|
|
|
if __name__ == '__main__':
|
|
workdir = '/data/datasets/photos/'
|
|
AccessKeyId = 'LTAI5tSReWm8hz7dSYxxth8f'
|
|
AccessKeySecret = '8ywTDF9upPAtvgXtLKALY2iMYHIxdS'
|
|
Endpoint = 'oss-cn-shanghai.aliyuncs.com'
|
|
Bucket = 'suwa3d-securedata'
|
|
oss_client = oss2.Bucket(oss2.Auth(AccessKeyId, AccessKeySecret), Endpoint, Bucket)
|
|
|
|
get_ps_type_url = "https://mp.api.suwa3d.com/api/takephotoOrder/photoStudioInfo"
|
|
|
|
if len(sys.argv) == 1:
|
|
pids = [55165, 55118, 54862, 54790, 55065, 51056, 56025, 55806, 55592, 54864, 54521, 54623, 53861, 53787, 53596, 53147, 52487, 52768, 51394, 51007, 51294, 50052, 50766, 50464, 50117, 49626]
|
|
else:
|
|
pids = sys.argv[1].split(',')
|
|
|
|
for item in pids:
|
|
pid = str(item)
|
|
path = os.path.join(workdir, pid)
|
|
down(path, pid)
|
|
|
|
print(f'下载完成总数:{len(pids)}') |