-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaws_module.py
58 lines (42 loc) · 1.75 KB
/
aws_module.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import boto3
from botocore.exceptions import ClientError
import logging
import secret
import time
def upload_file(file_name, bucket, object_name=None):
if(secret.ITERATION == 30_000):
iteration = "30000"
elif(secret.ITERATION == 7_000):
iteration = "7000"
if object_name is None:
object_name = os.path.basename(file_name)
s3_client = boto3.client(
service_name='s3', region_name='ap-northeast-2',
aws_access_key_id=secret.AWS_ACCESS_KEY_ID, aws_secret_access_key=secret.AWS_SECRET_ACCESS_KEY)
try:
with open("output/"+object_name+"/point_cloud/iteration_"+iteration+"/point_cloud.ply" , "rb") as f:
response = s3_client.upload_fileobj(f, bucket, object_name+".ply")
except ClientError as e:
logging.error(e)
return False
return True
def download_file(file_name,bucket, object_name=None):
if object_name is None:
object_name = os.path.basename(file_name)
os.mkdir("data/"+object_name)
s3_client = boto3.client(
service_name='s3', region_name='ap-northeast-2',
aws_access_key_id=secret.AWS_ACCESS_KEY_ID, aws_secret_access_key=secret.AWS_SECRET_ACCESS_KEY)
try:
with open("data/"+ object_name + "/"+object_name+ ".mp4" , "wb") as f:
s3_client.download_fileobj(bucket, object_name+".mp4", f)
except ClientError as e:
logging.error(e)
return False
os.mkdir("data/"+object_name+"/input")
os.system("ffmpeg -i data/"+object_name+"/"+object_name+".mp4 -qscale:v 1 -qmin 1 -vf fps=2 "
+"data/"+object_name+"/input/%04d.jpg")
return object_name
if __name__ == "__main__":
download_file("dkqcnrss", "3d-modeling-mall", "dkqcnrss")