-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathutil.py
307 lines (267 loc) · 6.39 KB
/
util.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
# -*- coding: UTF-8 -*-
import shutil
import func
from utils.cdn_flush_util import CDNFlushHelper
from utils.cos_util import COSHelper
from utils.ftp_util import FTPHelper
from utils.gradle_util import GradleHelper
from utils.jar_util import JarHelper
from utils.ssh_util import SSHHelper
from utils.svn_util import SVNHelper
from utils.tail_util import TailHelper
from utils.unity_util import UnityHelper
from utils.vpn_util import VPNHelper
from utils.xcode_util import XCodeHelper
from utils.aws_util import AWSHelper
svn = None
vpn = None
ftp = None
unity = None
jar = None
tail = None
ssh = None
xcode = None
flush = None
gradle = None
cos = None
aws = None
def console(_message, *_params):
"""
控制台输出
Args:
_message: 输出信息
*_params: 输出参数
"""
func.__console(_message, *_params)
def unzip(_src_path, _dst_path=None):
"""
解压缩
Args:
_src_path: 源文件路径
_dst_path: 目标文件路径
Returns:
解压后的文件路径
"""
return func.__unzip(_src_path, _dst_path)
def zip(_src_path, _dst_path=None):
"""
压缩
Args:
_src_path: 源文件路径
_dst_path: 目标文件路径
Returns:
压缩后的文件路径
"""
return func.__zip(_src_path, _dst_path)
def copytree(src, dst, symlinks=False, ignore=None, copy_function=shutil.copy2, ignore_dangling_symlinks=False):
"""
复制文件夹
Args:
src: 源文件夹
dst: 目标文件夹
symlinks: 是否复制链接
ignore: 忽略文件
copy_function: 复制方法
ignore_dangling_symlinks: 忽略链接
Returns:
复制后的文件夹
"""
return func.__copytree(src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks)
def move(__src_path, __dst_path, __cover=False):
"""
移动文件
Args:
__src_path: 源文件路径
__dst_path: 目标文件路径
__cover: 是否覆盖
Returns:
移动后的文件路径
"""
return func.__move_to(__src_path, __dst_path, __cover)
def get_free_space_mb(_folder):
"""
获取磁盘剩余空间
Args:
_folder: 文件夹路径
Returns:
磁盘剩余空间
"""
return func.__get_free_space_mb(_folder)
def get_file_size(_path):
"""
获取文件大小
Args:
_path: 文件路径
Returns:
文件大小
"""
return func.__get_file_size(_path)
def init_vpn(_name, _user, _password, _secret):
"""
初始化VPN工具类
Args:
_name: VPN名称
_user: 用户名
_password: 密码
_secret: 密钥
Returns:
VPN工具类
"""
global vpn
vpn = vpn or VPNHelper(_name, _user, _password, _secret)
console(vpn)
return vpn
def init_ftp(_host, _port, _user, _passwd, _debug_lv=0, _buf_size=1024 * 1024):
"""
初始化FTP工具类
Args:
_host: 主机
_port: 端口
_user: 用户名
_passwd: 密码
_debug_lv: 调试等级
_buf_size: 缓冲区大小
Returns:
FTP工具类
"""
global ftp
ftp = ftp or FTPHelper(_host, _port, _user, _passwd, _debug_lv, _buf_size)
console(ftp)
return ftp
def init_ssh(_host, _port, _user, _passwd):
"""
初始化SSH工具类
Args:
_host: 主机
_port: 端口
_user: 用户名
_passwd: 密码
Returns:
SSH工具类
"""
global ssh
ssh = ssh or SSHHelper(_host, _port, _user, _passwd)
console(ssh)
return ssh
def init_cdn_flush(_url, _headers, _user, _pass, _pad, _path=None, _email=None):
"""
初始化CDN刷新工具类
Args:
_url: 刷新地址
_headers: 请求头
_user: 用户名
_pass: 密码
_pad: 填充
_path: 路径
_email: 邮箱
Returns:
CDN刷新工具类
"""
global flush
flush = flush or CDNFlushHelper(_url, _headers, _user, _pass, _pad, _path, _email)
console(flush)
return flush
def init_svn(_user, _password, _path, _clean_path=None):
"""
初始化SVN工具类
Args:
_user: 用户名
_password: 密码
_path: SVN路径
_clean_path: 清理路径
Returns:
SVN工具类
"""
global svn
svn = svn or SVNHelper(_user, _password, _path, _clean_path)
console(svn)
return svn
def init_unity(_sysparams, _log, _build_target):
"""
初始化Unity工具类
Args:
_sysparams: 系统参数
_log: 日志路径
_build_target: 构建目标
Returns:
Unity工具类
"""
global unity
unity = unity or UnityHelper(_sysparams, _log, _build_target)
console(unity)
return unity
def init_jar(_bt_jar, _us_jar):
"""
初始化Jar工具类
Args:
_bt_jar: BundleTool Jar 路径
_us_jar: UploadSymbols Jar 路径
Returns:
Jar工具类
"""
global jar
jar = jar or JarHelper(_bt_jar, _us_jar)
console(jar)
return jar
def init_tail(_log):
"""
初始化Tail工具类
Args:
_log: 日志路径
Returns:
Tail工具类
"""
global tail
tail = tail or TailHelper(_log)
console(tail)
return tail
def init_xcode(_xcode_project):
"""
初始化XCode工具类
Args:
_xcode_project: XCode工程路径
Returns:
XCode工具类
"""
global xcode
xcode = xcode or XCodeHelper(_xcode_project)
console(xcode)
return xcode
def init_gradle(_gradle_path, _android_project_path):
"""
初始化Gradle工具类
Args:
_gradle_path: Gradle路径
_android_project_path: Android工程路径
Returns:
Gradle工具类
"""
global gradle
gradle = gradle or GradleHelper(_gradle_path, _android_project_path)
console(gradle)
return gradle
def init_cos(_secretId, _secretKey, _bucket, _region):
"""
初始化COS工具类
Args:
_secretId: secretId
_secretKey: secretKey
_bucket: bucket
_region: region
Returns:
COS工具类
"""
global cos
cos = cos or COSHelper(_secretId, _secretKey, _bucket, _region)
console(cos)
return cos
def init_aws():
"""
初始化AWS工具类
Returns:
AWS工具类
"""
global aws
aws = aws or AWSHelper()
console(aws)
return aws