File size: 25,118 Bytes
020c337 | 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 | #!/usr/bin/python
import json #line:4
import os ,time #line:5
from projectModel .base import projectBase #line:6
import public #line:7
from BTPanel import cache #line:8
class main (projectBase ):#line:10
__O000OO000OOOOOO00 =public .Md5 ('clear'+time .strftime ('%Y-%m-%d'))#line:11
__OOOO0O0OOO00O0O0O ='/www/server/panel/config/clear_log.json'#line:12
__OO000OOOOO0OOO0OO ='/www/server/panel/data/clear'#line:13
__OO00O000000OO0000 =public .to_string ([27492 ,21151 ,33021 ,20026 ,20225 ,19994 ,29256 ,19987 ,20139 ,21151 ,33021 ,65292 ,35831 ,20808 ,36141 ,20080 ,20225 ,19994 ,29256 ])#line:16
def __init__ (OO0OO000O0OO0000O ):#line:18
if not os .path .exists (OO0OO000O0OO0000O .__OO000OOOOO0OOO0OO ):#line:19
os .makedirs (OO0OO000O0OO0000O .__OO000OOOOO0OOO0OO ,384 )#line:20
def __O000OO00O0OO0O00O (O0O00O00O00OO0OO0 ):#line:22
# from pluginAuth import Plugin #line:23
import PluginLoader
O00000O0O0OOOOOOO =PluginLoader.get_plugin_list (0)#line:25
return int (O00000O0O0OOOOOOO ['ltd'])>time .time ()#line:26
def get_config (O0OO0O00OOOOO00OO ):#line:30
""#line:35
if not os .path .exists (O0OO0O00OOOOO00OO .__OOOO0O0OOO00O0O0O ):#line:36
O0OO0O00OOOOO00OO .write_config ()#line:37
return O0OO0O00OOOOO00OO .default_config ()#line:38
else :#line:39
try :#line:40
O00OOOOO0O0O00000 =json .loads (public .ReadFile (O0OO0O00OOOOO00OO .__OOOO0O0OOO00O0O0O ))#line:41
except :#line:42
O0OO0O00OOOOO00OO .write_config ()#line:43
return O0OO0O00OOOOO00OO .default_config ()#line:44
if not cache .get (O0OO0O00OOOOO00OO .__O000OO000OOOOOO00 ):#line:45
try :#line:46
import requests #line:47
O00OOOOO0O0O00000 =requests .get ("https://www.bt.cn/api/bt_waf/clearLog").json ()#line:48
cache .set (O0OO0O00OOOOO00OO .__O000OO000OOOOOO00 ,'1',1800 )#line:49
O0OO0O00OOOOO00OO .write_config (O00OOOOO0O0O00000 )#line:50
except :#line:51
return O0OO0O00OOOOO00OO .default_config ()#line:52
return O00OOOOO0O0O00000 #line:53
else :#line:54
return O00OOOOO0O0O00000 #line:55
def write_config (O0O0O0OOOO000O0O0 ,config =False ):#line:57
""#line:63
if config :#line:64
public .WriteFile (O0O0O0OOOO000O0O0 .__OOOO0O0OOO00O0O0O ,json .dumps (config ))#line:65
else :#line:66
public .WriteFile (O0O0O0OOOO000O0O0 .__OOOO0O0OOO00O0O0O ,json .dumps (O0O0O0OOOO000O0O0 .default_config ()))#line:67
def default_config (O0O0OO0OO00O00O0O ):#line:70
""#line:75
return [{"name":"recycle1","ps":"面板备份文件","path":"/www/backup/panel","type":"dir","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"recycle2","ps":"面板文件备份","path":"/www/backup/file_history","type":"dir","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"docker","ps":"Docker容器日志","path":"/var/lib/docker/containers","type":"file","is_del":False ,"find":["-json.log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"openrasp","ps":"openrasp日志","path":["/opt/rasp55/logs/alarm","/opt/rasp55/logs/policy","/opt/rasp55/logs/plugin","/opt/rasp56/logs/alarm","/opt/rasp56/logs/policy","/opt/rasp56/logs/plugin","/opt/rasp70/logs/alarm","/opt/rasp70/logs/policy","/opt/rasp70/logs/plugin","/opt/rasp71/logs/alarm","/opt/rasp71/logs/policy","/opt/rasp72/logs/plugin","/opt/rasp73/logs/alarm","/opt/rasp73/logs/policy","/opt/rasp73/logs/plugin","/opt/rasp74/logs/alarm","/opt/rasp74/logs/policy","/opt/rasp74/logs/plugin"],"type":"file","is_del":True ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"springboot","ps":"springboot日志","path":"/var/tmp/springboot/vhost/logs","type":"file","is_del":False ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"aliyun","ps":"阿里云Agent日志","path":["/usr/local/share/aliyun-assist/2.2.3.247/log","/usr/local/share/aliyun-assist/2.2.3.256/log"],"type":"file","is_del":True ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"qcloud","ps":"腾讯云Agent日志","path":["/usr/local/qcloud/tat_agent/log","/usr/local/qcloud/YunJing/log","/usr/local/qcloud/stargate/logs","/usr/local/qcloud/monitor/barad/log"],"type":"file","is_del":True ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"crontab","ps":"计划任务日志","path":"/www/server/cron","type":"file","is_del":True ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"tomcat","ps":"tomcat日志","path":["/usr/local/bttomcat/tomcat8/logs","/usr/local/bttomcat/tomcat9/logs","/usr/local/bttomcat/tomcat7/logs"],"type":"file","is_del":True ,"find":[".log"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"panellog","ps":"面板日志","path":"/www/server/panel/logs/request","type":"file","is_del":True ,"find":[".json.gz"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"recycle3","ps":"回收站","path":"/www/Recycle_bin","type":"dir","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"maillog","ps":"邮件日志","path":"/var/spool/mail","type":"file","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"btwaflog","ps":"防火墙日志","path":["/www/wwwlogs/btwaf","/www/server/btwaf/totla_db/http_log"],"type":"file","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"weblog","ps":"网站日志","path":"/www/wwwlogs","type":"file","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"syslog","ps":"系统日志","path":["/var/log/audit","/var/log"],"type":"file","is_del":True ,"find":[],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"package","ps":"面板遗留文件","path":"/www/server/panel/package","type":"file","is_del":True ,"find":[".zip"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"mysqllog","ps":"数据库日志","path":"/www/server/data","type":"file","is_del":True ,"find":["mysql-bin.00"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"session","ps":"session日志","path":"/tmp","type":"file","is_del":True ,"find":["sess_"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 },{"name":"bttotal","ps":"网站监控报表日志","path":"/www/server/total/logs","type":"file","is_del":True ,"find":["_bt_"],"exclude":[],"is_config":False ,"regular":"","subdirectory":False ,"result":[],"size":0 }]#line:96
def tosize (O00O00O00O000O0OO ,O0OOO00O00OOOOOO0 ):#line:98
""#line:104
O000O0O0OOOO0O0OO =['b','KB','MB','GB','TB']#line:105
for OO0O00OOO000O0O0O in O000O0O0OOOO0O0OO :#line:106
if O0OOO00O00OOOOOO0 <1024 :#line:107
return str (int (O0OOO00O00OOOOOO0 ))+OO0O00OOO000O0O0O #line:108
O0OOO00O00OOOOOO0 =O0OOO00O00OOOOOO0 /1024 #line:109
return '0b'#line:110
def any_size (OO00O0OOO0O0OOOOO ,OOOO0O000O000O0O0 ):#line:112
""#line:118
OOOO0O000O000O0O0 =str (OOOO0O000O000O0O0 )#line:119
OO0OOO0OOOO0OO0O0 =OOOO0O000O000O0O0 [-1 ]#line:120
try :#line:121
OOO00OO0O00OO000O =float (OOOO0O000O000O0O0 [0 :-1 ])#line:122
except :#line:123
OOO00OO0O00OO000O =0 #line:124
return OOOO0O000O000O0O0 #line:125
O00000O0O0000OOOO =['b','K','M','G','T']#line:126
if OO0OOO0OOOO0OO0O0 in O00000O0O0000OOOO :#line:127
if OO0OOO0OOOO0OO0O0 =='b':#line:128
return int (OOO00OO0O00OO000O )#line:129
elif OO0OOO0OOOO0OO0O0 =='K':#line:130
OOO00OO0O00OO000O =OOO00OO0O00OO000O *1024 #line:131
return int (OOO00OO0O00OO000O )#line:132
elif OO0OOO0OOOO0OO0O0 =='M':#line:133
OOO00OO0O00OO000O =OOO00OO0O00OO000O *1024 *1024 #line:134
return int (OOO00OO0O00OO000O )#line:135
elif OO0OOO0OOOO0OO0O0 =='G':#line:136
OOO00OO0O00OO000O =OOO00OO0O00OO000O *1024 *1024 *1024 #line:137
return int (OOO00OO0O00OO000O )#line:138
elif OO0OOO0OOOO0OO0O0 =='T':#line:139
OOO00OO0O00OO000O =OOO00OO0O00OO000O *1024 *1024 *1024 *1024 #line:140
return int (OOO00OO0O00OO000O )#line:141
else :#line:142
return int (OOO00OO0O00OO000O )#line:143
else :#line:144
return '0b'#line:145
def get_path_file (O000OO0OO0OOOO0OO ,O00O000O0OOOOO0OO ):#line:148
""#line:154
if type (O00O000O0OOOOO0OO ['path'])==list :#line:155
for O00000OO0000OO00O in O00O000O0OOOOO0OO ['path']:#line:156
if os .path .exists (O00000OO0000OO00O ):#line:157
for OOOO0OOO0OOOO0OO0 in os .listdir (O00000OO0000OO00O ):#line:158
OOOO0O0000OOOO0OO =O00000OO0000OO00O +'/'+OOOO0OOO0OOOO0OO0 #line:159
if O00O000O0OOOOO0OO ['type']=='file':#line:160
if os .path .isfile (OOOO0O0000OOOO0OO ):#line:161
O000O000O0O0OOOO0 ={}#line:162
O0OOO0O000O0O0OOO =os .path .getsize (OOOO0O0000OOOO0OO )#line:163
if O0OOO0O000O0O0OOO >=100 :#line:164
O000O000O0O0OOOO0 ['size']=O000OO0OO0OOOO0OO .tosize (O0OOO0O000O0O0OOO )#line:165
O000O000O0O0OOOO0 ['count_size']=O0OOO0O000O0O0OOO #line:166
O00O000O0OOOOO0OO ['size']+=O0OOO0O000O0O0OOO #line:167
O000O000O0O0OOOO0 ['name']=OOOO0O0000OOOO0OO #line:168
O00O000O0OOOOO0OO ['result'].append (O000O000O0O0OOOO0 )#line:169
else :#line:170
if os .path .exists (O00O000O0OOOOO0OO ['path']):#line:171
for OOOO0OOO0OOOO0OO0 in os .listdir (O00O000O0OOOOO0OO ['path']):#line:172
OOOO0O0000OOOO0OO =O00O000O0OOOOO0OO ['path']+'/'+OOOO0OOO0OOOO0OO0 #line:173
if O00O000O0OOOOO0OO ['type']=='file':#line:174
if os .path .isfile (OOOO0O0000OOOO0OO ):#line:175
O000O000O0O0OOOO0 ={}#line:176
O0OOO0O000O0O0OOO =os .path .getsize (OOOO0O0000OOOO0OO )#line:177
if O0OOO0O000O0O0OOO >=100 :#line:178
O000O000O0O0OOOO0 ['size']=O000OO0OO0OOOO0OO .tosize (O0OOO0O000O0O0OOO )#line:179
O000O000O0O0OOOO0 ['count_size']=O0OOO0O000O0O0OOO #line:180
O00O000O0OOOOO0OO ['size']+=O0OOO0O000O0O0OOO #line:181
O000O000O0O0OOOO0 ['name']=OOOO0O0000OOOO0OO #line:182
O00O000O0OOOOO0OO ['result'].append (O000O000O0O0OOOO0 )#line:183
elif O00O000O0OOOOO0OO ['type']=='dir':#line:184
if os .path .isdir (OOOO0O0000OOOO0OO ):#line:185
O0OOO0O000O0O0OOO =public .ExecShell ('du -sh %s'%OOOO0O0000OOOO0OO )[0 ].split ()[0 ]#line:186
O000O000O0O0OOOO0 ={}#line:187
O000O000O0O0OOOO0 ['dir']='dir'#line:188
O000O000O0O0OOOO0 ['size']=O0OOO0O000O0O0OOO #line:189
O000O000O0O0OOOO0 ['count_size']=O000OO0OO0OOOO0OO .any_size (O0OOO0O000O0O0OOO )#line:190
if O000O000O0O0OOOO0 ['count_size']<100 :continue #line:191
if O00O000O0OOOOO0OO ['path']=='/www/Recycle_bin':#line:192
OOOO0O0000OOOO0OO =OOOO0OOO0OOOO0OO0 .split ('_t_')[0 ].replace ('_bt_','/')#line:193
O000O000O0O0OOOO0 ['filename']=O00O000O0OOOOO0OO ['path']+'/'+OOOO0OOO0OOOO0OO0 #line:194
O000O000O0O0OOOO0 ['name']=OOOO0O0000OOOO0OO #line:195
else :#line:196
O000O000O0O0OOOO0 ['filename']=O00O000O0OOOOO0OO ['path']+'/'+OOOO0OOO0OOOO0OO0 #line:197
O000O000O0O0OOOO0 ['name']=os .path .basename (OOOO0O0000OOOO0OO )#line:198
O00O000O0OOOOO0OO ['size']+=O000O000O0O0OOOO0 ['count_size']#line:199
O00O000O0OOOOO0OO ['result'].append (O000O000O0O0OOOO0 )#line:200
else :#line:201
O0OO000O0OO000000 =os .path .getsize (OOOO0O0000OOOO0OO )#line:202
if O0OO000O0OO000000 <100 :continue #line:204
O000O000O0O0OOOO0 ={}#line:205
O000O000O0O0OOOO0 ['filename']=OOOO0O0000OOOO0OO #line:206
OOOO0O0000OOOO0OO =os .path .basename (OOOO0O0000OOOO0OO )#line:208
O000O000O0O0OOOO0 ['count_size']=O0OO000O0OO000000 #line:209
if O00O000O0OOOOO0OO ['path']=='/www/Recycle_bin':#line:210
OOOO0O0000OOOO0OO =OOOO0OOO0OOOO0OO0 .split ('_t_')[0 ].replace ('_bt_','/')#line:211
O000O000O0O0OOOO0 ['name']=OOOO0O0000OOOO0OO #line:212
else :#line:213
O000O000O0O0OOOO0 ['name']=OOOO0O0000OOOO0OO #line:214
O000O000O0O0OOOO0 ['size']=O000OO0OO0OOOO0OO .tosize (O0OO000O0OO000000 )#line:215
O00O000O0OOOOO0OO ['size']+=O000O000O0O0OOOO0 ['count_size']#line:216
O00O000O0OOOOO0OO ['result'].append (O000O000O0O0OOOO0 )#line:217
return O00O000O0OOOOO0OO #line:218
def get_path_find (OO0O0OO0O00OO0000 ,O00O00000OOOO0O00 ):#line:221
""#line:228
if type (O00O00000OOOO0O00 ['path'])==list :#line:229
for O000000OO00OO00O0 in O00O00000OOOO0O00 ['path']:#line:230
if os .path .exists (O000000OO00OO00O0 ):#line:231
for OOOOOOO00O00O0O0O in os .listdir (O000000OO00OO00O0 ):#line:232
for O0000O0OOOO0OO0O0 in O00O00000OOOO0O00 ['find']:#line:233
if OOOOOOO00O00O0O0O .find (O0000O0OOOO0OO0O0 )==-1 :continue #line:234
O0OOOOO00O0O00O0O =O000000OO00OO00O0 +'/'+OOOOOOO00O00O0O0O #line:235
if not os .path .exists (O0OOOOO00O0O00O0O ):continue #line:236
OO000OOO00OOO0O00 =os .path .getsize (O0OOOOO00O0O00O0O )#line:237
if OO000OOO00OOO0O00 <1024 :continue #line:238
OO00OOOOOO0000000 ={}#line:239
OO00OOOOOO0000000 ['name']=O0OOOOO00O0O00O0O #line:240
OO00OOOOOO0000000 ['count_size']=OO000OOO00OOO0O00 #line:241
O00O00000OOOO0O00 ['size']+=OO000OOO00OOO0O00 #line:242
OO00OOOOOO0000000 ['size']=OO0O0OO0O00OO0000 .tosize (OO000OOO00OOO0O00 )#line:243
O00O00000OOOO0O00 ['result'].append (OO00OOOOOO0000000 )#line:244
else :#line:245
if os .path .exists (O00O00000OOOO0O00 ['path']):#line:246
for OOOOOOO00O00O0O0O in os .listdir (O00O00000OOOO0O00 ['path']):#line:247
for O0000O0OOOO0OO0O0 in O00O00000OOOO0O00 ['find']:#line:248
O0OOOOO00O0O00O0O =O00O00000OOOO0O00 ['path']+'/'+OOOOOOO00O00O0O0O #line:249
if O00O00000OOOO0O00 ['path']=='/var/lib/docker/containers':#line:250
O0OOOOO00O0O00O0O =O0OOOOO00O0O00O0O +'/'+OOOOOOO00O00O0O0O +'-json.log'#line:251
if os .path .exists (O0OOOOO00O0O00O0O ):#line:252
OO000OOO00OOO0O00 =os .path .getsize (O0OOOOO00O0O00O0O )#line:253
if OO000OOO00OOO0O00 <1024 :continue #line:254
OO00OOOOOO0000000 ={}#line:255
OO00OOOOOO0000000 ['name']=O0OOOOO00O0O00O0O #line:256
OO00OOOOOO0000000 ['count_size']=OO000OOO00OOO0O00 #line:257
O00O00000OOOO0O00 ['size']+=OO000OOO00OOO0O00 #line:258
OO00OOOOOO0000000 ['size']=OO0O0OO0O00OO0000 .tosize (OO000OOO00OOO0O00 )#line:259
O00O00000OOOO0O00 ['result'].append (OO00OOOOOO0000000 )#line:260
else :#line:261
if OOOOOOO00O00O0O0O .find (O0000O0OOOO0OO0O0 )==-1 :continue #line:262
if not os .path .exists (O0OOOOO00O0O00O0O ):continue #line:263
OO000OOO00OOO0O00 =os .path .getsize (O0OOOOO00O0O00O0O )#line:264
if OO000OOO00OOO0O00 <1024 :continue #line:265
OO00OOOOOO0000000 ={}#line:266
OO00OOOOOO0000000 ['name']=O0OOOOO00O0O00O0O #line:267
OO00OOOOOO0000000 ['count_size']=OO000OOO00OOO0O00 #line:268
O00O00000OOOO0O00 ['size']+=OO000OOO00OOO0O00 #line:269
OO00OOOOOO0000000 ['size']=OO0O0OO0O00OO0000 .tosize (OO000OOO00OOO0O00 )#line:270
O00O00000OOOO0O00 ['result'].append (OO00OOOOOO0000000 )#line:271
return O00O00000OOOO0O00 #line:272
def scanning (O0000O0O000OO000O ,OO0O0O0O000O00OOO ):#line:274
""#line:278
if not O0000O0O000OO000O .__O000OO00O0OO0O00O ():return public .returnMsg (False ,O0000O0O000OO000O .__OO00O000000OO0000 )#line:279
O0000O000OO0OO00O =0 #line:280
O0OOO000O0OOOO00O =O0000O0O000OO000O .get_config ()#line:281
OOOO0O0OOO00O0O0O =int (time .time ())#line:282
public .WriteFile (O0000O0O000OO000O .__OO000OOOOO0OOO0OO +'/scanning',str (OOOO0O0OOO00O0O0O ))#line:283
for O00OOO00O0O00O000 in O0OOO000O0OOOO00O :#line:284
O0O0OOOO0O000O0O0 =O0000O0O000OO000O .__OO000OOOOO0OOO0OO +'/'+O00OOO00O0O00O000 ['name']+'.pl'#line:285
if not O00OOO00O0O00O000 ['find']and not O00OOO00O0O00O000 ['exclude']and not O00OOO00O0O00O000 ['is_config']:#line:286
O0000O0O000OO000O .get_path_file (O00OOO00O0O00O000 )#line:287
O00OOO00O0O00O000 ['time']=int (time .time ())#line:288
O0000O000OO0OO00O +=O00OOO00O0O00O000 ['size']#line:289
O00OOO00O0O00O000 ['size_info']=O0000O0O000OO000O .tosize (O00OOO00O0O00O000 ['size'])#line:290
if O00OOO00O0O00O000 ['find']and not O00OOO00O0O00O000 ['exclude']and not O00OOO00O0O00O000 ['is_config']:#line:291
O0000O0O000OO000O .get_path_find (O00OOO00O0O00O000 )#line:292
O00OOO00O0O00O000 ['time']=int (time .time ())#line:293
O0000O000OO0OO00O +=O00OOO00O0O00O000 ['size']#line:294
O00OOO00O0O00O000 ['size_info']=O0000O0O000OO000O .tosize (O00OOO00O0O00O000 ['size'])#line:295
public .WriteFile (O0O0OOOO0O000O0O0 ,json .dumps (O00OOO00O0O00O000 ))#line:296
O0O0OOOOOO0OO0OO0 ={"info":O0OOO000O0OOOO00O ,"size":O0000O000OO0OO00O ,"time":OOOO0O0OOO00O0O0O }#line:297
return O0O0OOOOOO0OO0OO0 #line:298
def list (O0O0O0O00O0OO0OO0 ,OO0OO0OOOOOOO0OOO ):#line:301
""#line:305
O00O00O0O000OO0OO =0 #line:307
OO0O0OOO0O0O0OO0O =[]#line:308
O0O0OOOO0O0O00OOO =O0O0O0O00O0OO0OO0 .get_config ()#line:309
for O0000OOOOO0OOO00O in O0O0OOOO0O0O00OOO :#line:310
OOO000O00OOO0O0O0 =O0O0O0O00O0OO0OO0 .__OO000OOOOO0OOO0OO +'/'+O0000OOOOO0OOO00O ['name']+'.pl'#line:311
if os .path .exists (OOO000O00OOO0O0O0 ):#line:312
OO00O0OO000O0OO0O =json .loads (public .readFile (OOO000O00OOO0O0O0 ))#line:313
OO0O0OOO0O0O0OO0O .append (OO00O0OO000O0OO0O )#line:314
O00O00O0O000OO0OO +=OO00O0OO000O0OO0O ['size']#line:315
else :#line:316
if not O0000OOOOO0OOO00O ['find']and not O0000OOOOO0OOO00O ['exclude']and not O0000OOOOO0OOO00O ['is_config']:#line:317
O0O0O0O00O0OO0OO0 .get_path_file (O0000OOOOO0OOO00O )#line:318
O0000OOOOO0OOO00O ['size_info']=O0O0O0O00O0OO0OO0 .tosize (O0000OOOOO0OOO00O ['size'])#line:319
O00O00O0O000OO0OO +=O0000OOOOO0OOO00O ['size']#line:320
if O0000OOOOO0OOO00O ['find']and not O0000OOOOO0OOO00O ['exclude']and not O0000OOOOO0OOO00O ['is_config']:#line:321
O0O0O0O00O0OO0OO0 .get_path_find (O0000OOOOO0OOO00O )#line:322
O0000OOOOO0OOO00O ['time']=time .time ()#line:323
O00O00O0O000OO0OO +=O0000OOOOO0OOO00O ['size']#line:324
O0000OOOOO0OOO00O ['size_info']=O0O0O0O00O0OO0OO0 .tosize (O0000OOOOO0OOO00O ['size'])#line:325
public .WriteFile (OOO000O00OOO0O0O0 ,json .dumps (O0000OOOOO0OOO00O ))#line:326
OO0O0OOO0O0O0OO0O .append (O0000OOOOO0OOO00O )#line:327
if os .path .exists (O0O0O0O00O0OO0OO0 .__OO000OOOOO0OOO0OO +'/scanning'):#line:328
OOOO0O0OOO0000O0O =int (public .ReadFile (O0O0O0O00O0OO0OO0 .__OO000OOOOO0OOO0OO +'/scanning'))#line:329
else :#line:330
OOOO0O0OOO0000O0O =int (time .time ())#line:331
OOOO000OO0O0000O0 ={"info":OO0O0OOO0O0O0OO0O ,"size":O00O00O0O000OO0OO ,"time":OOOO0O0OOO0000O0O }#line:332
return OOOO000OO0O0000O0 #line:333
def remove_file (OO0OOOO00OO000OO0 ,OO0OOOO00000OO00O ):#line:336
""#line:340
if not OO0OOOO00OO000OO0 .__O000OO00O0OO0O00O ():return public .returnMsg (False ,OO0OOOO00OO000OO0 .__OO00O000000OO0000 )#line:341
O0OOO0000000O000O =0 #line:342
O0O0O00000000OOOO =OO0OOOO00000OO00O .san_info #line:344
for O00OOO00OOOO0OOOO in O0O0O00000000OOOO :#line:346
if len (O00OOO00OOOO0OOOO ['result'])<=0 :return #line:347
for O0O00O0O0000OO000 in O00OOO00OOOO0OOOO ['result']:#line:348
try :#line:349
if O00OOO00OOOO0OOOO ['type']=='dir':#line:350
if 'filename'in O0O00O0O0000OO000 :#line:351
if os .path .isfile (O0O00O0O0000OO000 ['filename']):#line:352
if O00OOO00OOOO0OOOO ['is_del']:#line:353
os .remove (O0O00O0O0000OO000 ['filename'])#line:354
else :#line:355
public .ExecShell ("echo " ">%s"%O0O00O0O0000OO000 ['filename'])#line:356
O0OOO0000000O000O +=O0O00O0O0000OO000 ['count_size']#line:357
else :#line:358
O0OOO0000000O000O +=O0O00O0O0000OO000 ['count_size']#line:359
public .ExecShell ("rm -rf %s"%O0O00O0O0000OO000 ['filename'])#line:360
else :#line:362
return '22'#line:363
else :#line:364
if os .path .isfile (O0O00O0O0000OO000 ['name']):#line:365
if O00OOO00OOOO0OOOO ['is_del']:#line:366
os .remove (O0O00O0O0000OO000 ['name'])#line:367
else :#line:368
public .ExecShell ("echo " ">%s"%O0O00O0O0000OO000 ['name'])#line:369
O0OOO0000000O000O +=O0O00O0O0000OO000 ['count_size']#line:370
else :#line:371
O0OOO0000000O000O +=O0O00O0O0000OO000 ['count_size']#line:373
os .rmdir (O0O00O0O0000OO000 ['name'])#line:374
except :continue #line:375
OO0OOOO00OO000OO0 .scanning (None )#line:376
return public .returnMsg (True ,OO0OOOO00OO000OO0 .tosize (O0OOO0000000O000O )) |