Skip to content

Commit 7d3e8b3

Browse files
committed
Modify UploadFileRequest to set verify_sha1
1 parent 69384ec commit 7d3e8b3

File tree

2 files changed

+45
-8
lines changed

2 files changed

+45
-8
lines changed

qcloud_cos/cos_op.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,8 @@ def upload_file(self, request):
284284
local_path = request.get_local_path()
285285
slice_size = 1024 * 1024
286286
biz_attr = request.get_biz_attr()
287-
upload_slice_request = UploadSliceFileRequest(bucket, cos_path, local_path, slice_size, biz_attr)
287+
enable_sha1 = request.get_verify_sha1()
288+
upload_slice_request = UploadSliceFileRequest(bucket, cos_path, local_path, slice_size, biz_attr, enable_sha1)
288289
upload_slice_request.set_insert_only(request.get_insert_only())
289290
return self.upload_slice_file(upload_slice_request)
290291

@@ -557,7 +558,8 @@ def upload_file_from_buffer(self, request):
557558
data = request.get_data()
558559
slice_size = 1024 * 1024
559560
biz_attr = request.get_biz_attr()
560-
upload_slice_request = UploadSliceFileFromBufferRequest(bucket, cos_path, data, slice_size, biz_attr)
561+
enable_sha1 = request.get_verify_sha1()
562+
upload_slice_request = UploadSliceFileFromBufferRequest(bucket, cos_path, data, slice_size, biz_attr, enable_sha1)
561563
upload_slice_request.set_insert_only(request.get_insert_only())
562564
return self.upload_slice_file_from_buffer(upload_slice_request)
563565

qcloud_cos/cos_request.py

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,19 +114,21 @@ class UploadFileRequest(BaseRequest):
114114
UploadFileRequest 单文件上传请求
115115
"""
116116

117-
def __init__(self, bucket_name, cos_path, local_path, biz_attr=u'', insert_only=1):
117+
def __init__(self, bucket_name, cos_path, local_path, biz_attr=u'', insert_only=1, verify_sha1=False):
118118
"""
119119
120120
:param bucket_name: bucket的名称
121121
:param cos_path: cos的绝对路径(目的路径), 从bucket根/开始
122122
:param local_path: 上传的本地文件路径(源路径)
123123
:param biz_attr: 文件的属性
124124
:param insert_only: 是否覆盖写, 0覆盖, 1不覆盖,返回错误
125+
:param verify_sha1: 分片上传是否带sha1上传,默认为False
125126
"""
126127
super(UploadFileRequest, self).__init__(bucket_name, cos_path)
127128
self._local_path = local_path.strip()
128129
self._biz_attr = biz_attr
129130
self._insert_only = insert_only
131+
self._verify_sha1 = verify_sha1
130132

131133
def set_local_path(self, local_path):
132134
"""设置local_path
@@ -173,6 +175,21 @@ def get_insert_only(self):
173175
"""
174176
return self._insert_only
175177

178+
def set_verify_sha1(self, verify_sha1):
179+
"""设置enable_sha1
180+
181+
:param verify_sha1:
182+
:return:
183+
"""
184+
self._verify_sha1 = verify_sha1
185+
186+
def get_verify_sha1(self):
187+
"""获取verify_sha1
188+
189+
:return:
190+
"""
191+
return self._verify_sha1
192+
176193
def check_params_valid(self):
177194
"""检查参数是否有效
178195
@@ -198,7 +215,7 @@ class UploadSliceFileRequest(UploadFileRequest):
198215
UploadSliceFileRequest 分片文件上传请求
199216
"""
200217

201-
def __init__(self, bucket_name, cos_path, local_path, slice_size=1024*1024, biz_attr=u'', enable_sha1=False, max_con=1):
218+
def __init__(self, bucket_name, cos_path, local_path, slice_size=1024*1024, biz_attr=u'', enable_sha1=False, max_con=1, insert_only=1):
202219
"""
203220
204221
:param bucket_name: bucket的名称
@@ -207,8 +224,9 @@ def __init__(self, bucket_name, cos_path, local_path, slice_size=1024*1024, biz_
207224
:param slice_size: 文件的属性
208225
:param biz_attr: 分片大小(字节, 默认1MB)
209226
:param enable_sha1: 是否启用sha1校验
227+
:param insert_only: 是否覆盖,默认为1不覆盖
210228
"""
211-
super(UploadSliceFileRequest, self).__init__(bucket_name, cos_path, local_path, biz_attr)
229+
super(UploadSliceFileRequest, self).__init__(bucket_name, cos_path, local_path, biz_attr, insert_only)
212230
self._slice_size = slice_size
213231
self._enable_sha1 = enable_sha1
214232
self._max_con = max_con
@@ -259,7 +277,7 @@ class UploadFileFromBufferRequest(BaseRequest):
259277
UploadFileFromBufferRequest 内存单文件上传请求
260278
"""
261279

262-
def __init__(self, bucket_name, cos_path, data, biz_attr=u'', insert_only=1):
280+
def __init__(self, bucket_name, cos_path, data, biz_attr=u'', insert_only=1, verify_sha1=False):
263281
"""
264282
265283
:param bucket_name: bucket的名称
@@ -272,6 +290,7 @@ def __init__(self, bucket_name, cos_path, data, biz_attr=u'', insert_only=1):
272290
self._data = data
273291
self._biz_attr = biz_attr
274292
self._insert_only = insert_only
293+
self._verify_sha1 = verify_sha1
275294

276295
def set_data(self, data):
277296
"""设置local_path
@@ -318,6 +337,21 @@ def get_insert_only(self):
318337
"""
319338
return self._insert_only
320339

340+
def set_verify_sha1(self, verify_sha1):
341+
"""设置enable_sha1
342+
343+
:param verify_sha1:
344+
:return:
345+
"""
346+
self._verify_sha1 = verify_sha1
347+
348+
def get_verify_sha1(self):
349+
"""获取verify_sha1
350+
351+
:return:
352+
"""
353+
return self._verify_sha1
354+
321355
def check_params_valid(self):
322356
"""检查参数是否有效
323357
@@ -339,7 +373,7 @@ class UploadSliceFileFromBufferRequest(UploadFileFromBufferRequest):
339373
UploadSliceFileFromBufferRequest 内存分片文件上传请求
340374
"""
341375

342-
def __init__(self, bucket_name, cos_path, data, slice_size=1024*1024, biz_attr=u'', enable_sha1=False, max_con=1):
376+
def __init__(self, bucket_name, cos_path, data, slice_size=1024*1024, biz_attr=u'', enable_sha1=False, max_con=1, insert_only=1):
343377
"""
344378
345379
:param bucket_name: bucket的名称
@@ -348,8 +382,9 @@ def __init__(self, bucket_name, cos_path, data, slice_size=1024*1024, biz_attr=u
348382
:param slice_size: 文件的属性
349383
:param biz_attr: 分片大小(字节, 默认1MB)
350384
:param enable_sha1: 是否启用sha1校验
385+
:param insert_only: 是否覆盖,默认为1不覆盖
351386
"""
352-
super(UploadSliceFileFromBufferRequest, self).__init__(bucket_name, cos_path, data, biz_attr)
387+
super(UploadSliceFileFromBufferRequest, self).__init__(bucket_name, cos_path, data, biz_attr, insert_only)
353388
self._slice_size = slice_size
354389
self._enable_sha1 = enable_sha1
355390
self._max_con = max_con

0 commit comments

Comments
 (0)