api: Fix qr-std-upload
This commit is contained in:
parent
6de097b38e
commit
412485b45b
@ -162,13 +162,14 @@ if ENV == "prod":
|
|||||||
ARCHIVE_BUCKET = "emblem-archive-prod"
|
ARCHIVE_BUCKET = "emblem-archive-prod"
|
||||||
FRAMES_BUCKET = "emblem-frames-prod"
|
FRAMES_BUCKET = "emblem-frames-prod"
|
||||||
OSS_QRS_BUCKET = "emblem-qrs"
|
OSS_QRS_BUCKET = "emblem-qrs"
|
||||||
|
OSS_QRS_ENDPOINT = "https://oss-cn-guangzhou.aliyuncs.com"
|
||||||
else:
|
else:
|
||||||
OSS = aliyun_dev_key
|
OSS = aliyun_dev_key
|
||||||
FEATURES_BUCKET = "emblem-features-dev-1"
|
FEATURES_BUCKET = "emblem-features-dev-1"
|
||||||
ARCHIVE_BUCKET = "emblem-oss-archive-dev-1"
|
ARCHIVE_BUCKET = "emblem-oss-archive-dev-1"
|
||||||
FRAMES_BUCKET = "emblem-frames-dev"
|
FRAMES_BUCKET = "emblem-frames-dev"
|
||||||
OSS_QRS_BUCKET = ARCHIVE_BUCKET
|
OSS_QRS_BUCKET = ARCHIVE_BUCKET
|
||||||
|
OSS_QRS_ENDPOINT = None
|
||||||
|
|
||||||
IPINFO_TOKEN = '537dea9ec5c99a'
|
IPINFO_TOKEN = '537dea9ec5c99a'
|
||||||
|
|
||||||
|
|||||||
@ -1,46 +1,43 @@
|
|||||||
import json
|
|
||||||
import oss2
|
import oss2
|
||||||
from aliyunsdkcore.client import AcsClient
|
|
||||||
from aliyunsdkcore.request import CommonRequest
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
def oss_bucket(bucketname):
|
def oss_bucket(bucket, endpoint=None):
|
||||||
oss = settings.OSS
|
oss = settings.OSS
|
||||||
auth = oss2.Auth(oss['access_key'], oss['secret'])
|
auth = oss2.Auth(oss['access_key'], oss['secret'])
|
||||||
bname = bucketname or oss['bucket']
|
bname = bucket or oss['bucket']
|
||||||
bucket = oss2.Bucket(auth, oss['endpoint'], bname)
|
bucket = oss2.Bucket(auth, endpoint or oss['endpoint'], bname)
|
||||||
return bucket
|
return bucket
|
||||||
|
|
||||||
def oss_put(name, f, bucket=None):
|
def oss_put(name, f, bucket=None, endpoint=None):
|
||||||
oss_bucket(bucket).put_object(name, f)
|
oss_bucket(bucket, endpoint).put_object(name, f)
|
||||||
|
|
||||||
def oss_get(name, bucket=None):
|
def oss_get(name, bucket=None, endpoint=None):
|
||||||
try:
|
try:
|
||||||
return oss_bucket(bucket).get_object(name).read()
|
return oss_bucket(bucket, endpoint).get_object(name).read()
|
||||||
except oss2.exceptions.NoSuchKey:
|
except oss2.exceptions.NoSuchKey:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def oss_list(bucket):
|
def oss_list(bucket=None, endpoint=None):
|
||||||
ret = []
|
ret = []
|
||||||
for obj in oss_bucket(bucket).list_objects().object_list:
|
for obj in oss_bucket(bucket).list_objects().object_list:
|
||||||
ret.append(obj.key)
|
ret.append(obj.key)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def oss_delete(name, bucket):
|
def oss_delete(name, bucket=None, endpoint=None):
|
||||||
oss_bucket(bucket).delete_object(name)
|
oss_bucket(bucket, endpoint).delete_object(name)
|
||||||
|
|
||||||
def oss_sign_url(name, method='GET', bucket=None):
|
def oss_sign_url(name, method='GET', bucket=None, endpoint=None):
|
||||||
return oss_bucket(bucket).sign_url(method, name.encode(), 24 * 60 * 60)
|
return oss_bucket(bucket, endpoint).sign_url(method, name.encode(), 24 * 60 * 60)
|
||||||
|
|
||||||
def oss_has(name, bucket=None):
|
def oss_has(name, bucket=None, endpoint=None):
|
||||||
try:
|
try:
|
||||||
obj = oss_bucket(bucket).get_object(name)
|
obj = oss_bucket(bucket, endpoint).get_object(name)
|
||||||
return True
|
return True
|
||||||
except oss2.exceptions.NoSuchKey:
|
except oss2.exceptions.NoSuchKey:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def oss_stat(bucket=None):
|
def oss_stat(bucket=None, endpoint=None):
|
||||||
bucket = oss_bucket(bucket)
|
bucket = oss_bucket(bucket, endpoint)
|
||||||
stat = bucket.get_bucket_stat()
|
stat = bucket.get_bucket_stat()
|
||||||
return {
|
return {
|
||||||
'objects': stat.object_count,
|
'objects': stat.object_count,
|
||||||
|
|||||||
@ -1636,7 +1636,7 @@ class QrStdUploadView(BaseView):
|
|||||||
raise Exception("invalid file name")
|
raise Exception("invalid file name")
|
||||||
pref = name[:2]
|
pref = name[:2]
|
||||||
key = f"v5/{pref}/{fname}"
|
key = f"v5/{pref}/{fname}"
|
||||||
r = oss_put(key, body, bucket=settings.OSS_QRS_BUCKET)
|
r = oss_put(key, body, bucket=settings.OSS_QRS_BUCKET, endpoint=settings.OSS_QRS_ENDPOINT)
|
||||||
|
|
||||||
class EstorArchive(BaseView):
|
class EstorArchive(BaseView):
|
||||||
name = 'estor-archive'
|
name = 'estor-archive'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user