49 lines
1.3 KiB
Python
Executable File
49 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import oss2
|
|
import sys
|
|
import os
|
|
import time
|
|
import argparse
|
|
|
|
oss_ak = 'LTAI5tC2qXGxwHZUZP7DoD1A'
|
|
oss_sk = 'qPo9O6ZvEfqo4t8oflGEm0DoxLHJhm'
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--dir', '-d', type=str, default='/data/qrs/tree', help='directory of qrs')
|
|
return parser.parse_args()
|
|
|
|
def all_qrs(dir):
|
|
for r, ds, fs in os.walk(dir):
|
|
for f in fs:
|
|
if f.endswith('.jpg'):
|
|
yield os.path.join(r, f)
|
|
|
|
def main():
|
|
args = parse_args()
|
|
auth = oss2.Auth(oss_ak, oss_sk)
|
|
endpoint = 'https://oss-cn-guangzhou.aliyuncs.com'
|
|
bucket = oss2.Bucket(auth, endpoint, 'emblem-qrs')
|
|
|
|
rootdir = args.dir
|
|
|
|
aqrs = list(all_qrs(rootdir))
|
|
total = len(aqrs)
|
|
done = 0
|
|
print(f'total: {total}')
|
|
for qr in aqrs:
|
|
qrcode = os.path.basename(qr).split('.')[0]
|
|
prefix = qrcode[:2]
|
|
key = f'v5/{prefix}/{qrcode}.jpg'
|
|
for i in range(3):
|
|
try:
|
|
print(f'{done}/{total} {qr} -> {key}')
|
|
bucket.put_object_from_file(key, qr)
|
|
done += 1
|
|
break
|
|
except Exception as e:
|
|
print(f'{e}')
|
|
time.sleep(1)
|
|
|
|
if __name__ == '__main__':
|
|
main() |