优化PTPP导入

This commit is contained in:
ngfchl
2022-09-11 06:01:14 +08:00
parent 7c32e39a2d
commit 398c760623
3 changed files with 41 additions and 22 deletions

View File

@@ -106,7 +106,12 @@ def import_from_ptpp(request):
data_list = json.loads(request.body).get('ptpp')
datas = json.loads(data_list)
print('content', len(datas))
cookies = pt_spider.parse_ptpp_cookies(datas)
res = pt_spider.parse_ptpp_cookies(datas)
if res.code == StatusCodeEnum.OK.code:
cookies = res.data
else:
return JsonResponse(res.to_dict(), safe=False)
# success_messages = []
# error_messages = []
message_list = []
@@ -135,7 +140,7 @@ def import_from_ptpp(request):
'msg': message,
'tag': 'warning'
})
raise
# raise
return JsonResponse(CommonResponse.success(data={
'messages': message_list
}).to_dict(), safe=False)

View File

@@ -230,18 +230,25 @@ class PtSpider:
def parse_ptpp_cookies(self, datas):
cookies = []
for data in datas:
domain = data.get('host')
cookie_list = data.get('cookies')
cookie_str = ''
for cookie in cookie_list:
cookie_str += cookie.get('name') + '=' + cookie.get('value') + ';'
print(domain, cookie_str)
cookies.append({
'domain': domain,
'cookies': cookie_str.rstrip(';')
})
return cookies
try:
if datas[0].get('domain'):
print(datas[0].get('domain'))
return CommonResponse.success(data=self.parse_cookie_expire(datas))
for data in datas:
domain = data.get('host')
cookie_list = data.get('cookies')
cookie_str = ''
for cookie in cookie_list:
cookie_str += cookie.get('name') + '=' + cookie.get('value') + ';'
print(domain, cookie_str)
cookies.append({
'domain': domain,
'cookies': cookie_str.rstrip(';')
})
return CommonResponse.success(data=cookies)
except Exception as e:
raise
return CommonResponse.error(msg='Cookies解析失败请确认导入了正确的cookies备份文件')
def parse_cookie_expire(self, datas):
"""

View File

@@ -25,7 +25,7 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>
<input type="file" class="upload-demo" @change="showFile($event)"/>
<input type="file" v-model="cookies" class="upload-demo" @change="showFile($event)"/>
</span>
<el-button style="float: right;" type="success" @click="do_import">导入</el-button>
{# <el-upload#}
@@ -51,7 +51,8 @@
el: '#ptpp',
data() {
return {
ptpp: ''
ptpp: '',
cookies: ''
}
},
watch: {},
@@ -64,7 +65,6 @@
showFile(input) {
//支持chrome IE10
try {
if (window.FileReader) {
var file = input.target.files[0];
var reader = new FileReader();
@@ -74,6 +74,7 @@
this.ptpp = JSON.stringify(ptpp, null, " ")
{#console.log(event.target.result)#}
})
console.log(this.cookies)
console.info(file)
console.info(reader);
reader.readAsText(file);
@@ -135,17 +136,23 @@
});
}, 200);
})
//清空PTPP
this.ptpp = ''
this.cookies = ''
{#this.location.refresh()#}
} else {
console.log(res)
this.$message({
type: 'warning',
type: 'error',
message: res.data.msg
});
}
//清空PTPP
this.ptpp = ''
}).catch(() => {
this.$message({
type: 'warning',
message: '访问出错!'
});
})
}).catch(() => {
this.$message({
type: 'info',