Skip to content

Commit 3ae2661

Browse files
author
yuniszhang
committed
优化对象Tagging代码
1 parent 96a3a69 commit 3ae2661

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

qcloud_cos/cos_client.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2746,13 +2746,12 @@ def delete_bucket_inventory(self, Bucket, Id, **kwargs):
27462746
params=params)
27472747
return None
27482748

2749-
def put_object_tagging(self, Bucket, Key, Tagging={}, VersionId=None, **kwargs):
2749+
def put_object_tagging(self, Bucket, Key, Tagging={}, **kwargs):
27502750
"""设置object的标签
27512751
27522752
:param Bucket(string): 存储桶名称.
27532753
:param Key(string): COS路径.
27542754
:param Tagging(dict): Object的标签集合
2755-
:param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
27562755
:param kwargs(dict): 设置请求headers.
27572756
:return: None.
27582757
@@ -2780,11 +2779,10 @@ def put_object_tagging(self, Bucket, Key, Tagging={}, VersionId=None, **kwargs):
27802779
lst = ['<Tag>', '</Tag>'] # 类型为list的标签
27812780
xml_config = format_xml(data=Tagging, root='Tagging', lst=lst)
27822781
headers = mapped(kwargs)
2783-
headers['Content-MD5'] = get_md5(xml_config)
2784-
headers['Content-Type'] = 'application/xml'
27852782
params = {'tagging': ''}
2786-
if VersionId:
2787-
params['VersionId'] = VersionId
2783+
if 'versionId' in headers:
2784+
params['versionId'] = headers['versionId']
2785+
del headers['versionId']
27882786
url = self._conf.uri(bucket=Bucket, path=Key)
27892787
logger.info("put object tagging, url=:{url} ,headers=:{headers}".format(
27902788
url=url,
@@ -2799,12 +2797,11 @@ def put_object_tagging(self, Bucket, Key, Tagging={}, VersionId=None, **kwargs):
27992797
params=params)
28002798
return None
28012799

2802-
def get_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
2800+
def get_object_tagging(self, Bucket, Key, **kwargs):
28032801
"""获取object标签
28042802
28052803
:param Bucket(string): 存储桶名称.
28062804
:param Key(string): COS路径.
2807-
:param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
28082805
:param kwargs(dict): 设置请求headers.
28092806
:return(dict): Bucket对应的标签.
28102807
@@ -2820,8 +2817,9 @@ def get_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28202817
"""
28212818
headers = mapped(kwargs)
28222819
params = {'tagging': ''}
2823-
if VersionId:
2824-
params['VersionId'] = VersionId
2820+
if 'versionId' in headers:
2821+
params['versionId'] = headers['versionId']
2822+
del headers['versionId']
28252823
url = self._conf.uri(bucket=Bucket, path=Key)
28262824
logger.info("get object tagging, url=:{url} ,headers=:{headers}".format(
28272825
url=url,
@@ -2838,12 +2836,11 @@ def get_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28382836
format_dict(data['TagSet'], ['Tag'])
28392837
return data
28402838

2841-
def delete_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
2839+
def delete_object_tagging(self, Bucket, Key, **kwargs):
28422840
"""删除object标签
28432841
28442842
:param Bucket(string): 存储桶名称.
28452843
:param Key(string): COS路径.
2846-
:param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
28472844
:param kwargs(dict): 设置请求headers.
28482845
:return(dict): None.
28492846
@@ -2859,8 +2856,9 @@ def delete_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28592856
"""
28602857
headers = mapped(kwargs)
28612858
params = {'tagging': ''}
2862-
if VersionId:
2863-
params['VersionId'] = VersionId
2859+
if 'versionId' in headers:
2860+
params['versionId'] = headers['versionId']
2861+
del headers['versionId']
28642862
url = self._conf.uri(bucket=Bucket, path=Key)
28652863
logger.info("delete object tagging, url=:{url} ,headers=:{headers}".format(
28662864
url=url,

ut/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ def test_put_get_delete_bucket_tagging():
11141114
)
11151115

11161116

1117-
def test_put_get_delete_bucket_tagging():
1117+
def test_put_get_delete_object_tagging():
11181118
"""测试设置获取删除object标签"""
11191119
tagging_config = {
11201120
'TagSet': {

0 commit comments

Comments
 (0)