Skip to content

Commit a2e42ab

Browse files
committed
add delete_after_days API
1 parent 49c05c3 commit a2e42ab

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

examples/delete_afte_days.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
4+
from qiniu import Auth
5+
from qiniu import BucketManager
6+
7+
access_key = '...'
8+
secret_key = '...'
9+
10+
#初始化Auth状态
11+
q = Auth(access_key, secret_key)
12+
13+
#初始化BucketManager
14+
bucket = BucketManager(q)
15+
16+
#你要测试的空间, 并且这个key在你空间中存在
17+
bucket_name = 'Bucket_Name'
18+
key = 'python-test.png'
19+
20+
#您要更新的生命周期
21+
days = '5'
22+
23+
ret, info = bucket.delete_after_days(bucket_name, key, days)
24+
print(info)
25+
26+

qiniu/services/storage/bucket.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,28 @@ def buckets(self):
246246
"""
247247
return self.__rs_do('buckets')
248248

249+
def delete_after_days(self, bucket, key, days):
250+
"""更新文件生命周期
251+
252+
Returns:
253+
一个dict变量,返回结果类似:
254+
[
255+
{ "code": <HttpCode int>, "data": <Data> },
256+
{ "code": <HttpCode int> },
257+
{ "code": <HttpCode int> },
258+
{ "code": <HttpCode int> },
259+
{ "code": <HttpCode int>, "data": { "error": "<ErrorMessage string>" } },
260+
...
261+
]
262+
一个ResponseInfo对象
263+
Args:
264+
bucket: 目标资源空间
265+
key: 目标资源文件名
266+
days: 指定天数
267+
"""
268+
resource = entry(bucket, key)
269+
return self.__rs_do('deleteAfterDays', resource, days)
270+
249271
def __rs_do(self, operation, *args):
250272
return self.__server_do(config.get_default('default_rs_host'), operation, *args)
251273

test_qiniu.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,13 @@ def test_batch_stat(self):
264264
print(info)
265265
assert ret[0]['code'] == 200
266266

267+
def test_delete_after_days(self):
268+
days = '5'
269+
ret, info = self.bucket.delete_after_days(bucket_name,'invaild.html', days)
270+
assert info.status_code == 612
271+
ret, info = self.bucket.delete_after_days(bucket_name,'fetch.html', days )
272+
assert info.status_code == 200
273+
267274

268275
class UploaderTestCase(unittest.TestCase):
269276

0 commit comments

Comments
 (0)