forked from compilelife/loginsight
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupload.py
More file actions
58 lines (47 loc) · 1.46 KB
/
Copy pathupload.py
File metadata and controls
58 lines (47 loc) · 1.46 KB
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
56
57
58
# -*- coding:utf-8 -*-
import os
import time
from webdav3.client import Client
import zipfile
def zip_dir(dirname,zipfilename):
filelist = []
if os.path.isfile(dirname):
filelist.append(dirname)
else :
for root, dirs, files in os.walk(dirname):
for name in files:
filelist.append(os.path.join(root, name))
zf = zipfile.ZipFile(zipfilename, "w", zipfile.zlib.DEFLATED)
for tar in filelist:
arcname = tar[len(dirname):]
#print arcname
zf.write(tar,arcname)
zf.close()
def get_version():
f = open("./src/version.h")
lines = f.readlines()
f.close()
for line in lines:
if line.startswith('#define VERSION '):
return line[17:-2]
return 'unknown'
driver_prefix = 'nutstore'
webdav_url = os.getenv(f"{driver_prefix}_url")
webdav_username = os.getenv(f"{driver_prefix}_username")
webdav_password = os.getenv(f"{driver_prefix}_password")
if webdav_username==None or webdav_username=="" or webdav_password==None or webdav_password=="":
print(f"{driver_prefix}_username 或 {driver_prefix}_password 没有配置secret")
exit(-1)
options = {
'webdav_hostname': webdav_url,
'webdav_login': webdav_username,
'webdav_password': webdav_password,
'disable_check': True
}
client = Client(options)
filename=os.getenv("filename")
zip_dir('build/artifact', filename)
remotedir = '我的坚果云/'+get_version()+'/'
client.mkdir(remotedir)
client.upload(remote_path=remotedir+filename,local_path=filename)
print('done upload')