-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqiniulib.py
55 lines (46 loc) · 1.22 KB
/
qiniulib.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
from credentials import QiNiuACCESS_KEY, QiNiuSECRET_KEY
import qiniu.conf
import qiniu.io
import sys
import qiniu.rs
import qiniu.io
import qiniu.rsf
def uploadToQiNiu(bucketName,fileName):
'''
this function support override of existing file
'''
qiniu.conf.ACCESS_KEY = QiNiuACCESS_KEY
qiniu.conf.SECRET_KEY = QiNiuSECRET_KEY
policy = qiniu.rs.PutPolicy(bucketName)
policy.scope=bucketName+':'+unicode(fileName, "utf-8")
uptoken = policy.token()
extra = qiniu.io.PutExtra()
# extra.mime_type = "image/jpeg"
f=open(fileName,'r')
# localfile = "%s" % f.read()
ret, err = qiniu.io.put(uptoken, fileName, f)
f.close()
print ret;
if err is not None:
sys.stderr.write('error: %s ' % err)
def list_all(bucketName, rs=None, prefix=None, limit=None):
'''
sample code from official api page
'''
qiniu.conf.ACCESS_KEY = QiNiuACCESS_KEY
qiniu.conf.SECRET_KEY = QiNiuSECRET_KEY
if rs is None:
rs = qiniu.rsf.Client()
marker = None
err = None
while err is None:
ret, err = rs.list_prefix(bucketName, prefix=prefix, limit=limit, marker=marker)
marker = ret.get('marker', None)
# print ret
return ret['items']
for item in ret['items']:
# #do something
pass
if err is not qiniu.rsf.EOF:
#error handling
pass