mirror of
https://github.com/ngfchl/ptools
synced 2023-07-10 13:41:22 +08:00
卡片按钮实现站点更新数据
This commit is contained in:
@@ -14,6 +14,7 @@ from django.contrib.auth.decorators import login_required
|
||||
from django.http import JsonResponse
|
||||
from django.shortcuts import render
|
||||
|
||||
from pt_site.UtilityTool import MessageTemplate, FileSizeConvert
|
||||
from pt_site.models import SiteStatus, MySite, Site, Downloader, TorrentInfo
|
||||
from pt_site.views import scheduler, pt_spider
|
||||
from ptools.base import CommonResponse, StatusCodeEnum, DownloaderCategory
|
||||
@@ -721,9 +722,40 @@ def sign_in_api(request):
|
||||
|
||||
|
||||
def update_site_api(request):
|
||||
return JsonResponse(data=CommonResponse.success(
|
||||
msg='ok'
|
||||
).to_dict(), safe=False)
|
||||
try:
|
||||
my_site = MySite.objects.filter(id=request.GET.get('id')).first()
|
||||
res_status = pt_spider.send_status_request(my_site)
|
||||
message_template = MessageTemplate.status_message_template
|
||||
if res_status.code == StatusCodeEnum.OK.code:
|
||||
res = pt_spider.parse_status_html(my_site, res_status.data)
|
||||
status = res.data[0]
|
||||
if isinstance(status, SiteStatus):
|
||||
message = message_template.format(
|
||||
my_site.site.name,
|
||||
my_site.my_level,
|
||||
status.my_sp,
|
||||
my_site.sp_hour,
|
||||
status.my_bonus,
|
||||
status.ratio,
|
||||
FileSizeConvert.parse_2_file_size(status.seed_vol),
|
||||
FileSizeConvert.parse_2_file_size(status.uploaded),
|
||||
FileSizeConvert.parse_2_file_size(status.downloaded),
|
||||
my_site.seed,
|
||||
my_site.leech,
|
||||
my_site.invitation,
|
||||
my_site.my_hr
|
||||
)
|
||||
return JsonResponse(data=CommonResponse.success(
|
||||
msg=message
|
||||
).to_dict(), safe=False)
|
||||
return res
|
||||
else:
|
||||
return res_status
|
||||
except Exception as e:
|
||||
logger.error(f'数据更新失败:{e}')
|
||||
return JsonResponse(data=CommonResponse.error(
|
||||
msg=f'数据更新失败:{e}'
|
||||
).to_dict(), safe=False)
|
||||
|
||||
|
||||
def edit_site_api(request):
|
||||
|
||||
@@ -17,6 +17,7 @@ import opencc
|
||||
import qbittorrentapi
|
||||
import requests
|
||||
import transmission_rpc
|
||||
import urllib3.util.ssl_
|
||||
from django.db.models import QuerySet
|
||||
from lxml import etree
|
||||
from pypushdeer import PushDeer
|
||||
@@ -29,8 +30,6 @@ from auto_pt.models import Notify, OCR
|
||||
from pt_site.models import MySite, SignIn, TorrentInfo, SiteStatus, Site
|
||||
from ptools.base import TorrentBaseInfo, PushConfig, CommonResponse, StatusCodeEnum, DownloaderCategory
|
||||
|
||||
import urllib3.util.ssl_
|
||||
|
||||
urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL'
|
||||
|
||||
|
||||
@@ -87,7 +86,9 @@ class FileSizeConvert:
|
||||
class MessageTemplate:
|
||||
"""消息模板"""
|
||||
|
||||
status_message_template = "等级:{} 魔力:{} 时魔:{} 积分:{} 分享率:{} 下载量:{} 上传量:{} 上传数:{} 下载数:{} 邀请:{} H&R:{}\n"
|
||||
status_message_template = "{} 等级:{} 魔力:{} 时魔:{} 积分:{} 分享率:{} " \
|
||||
"做重量:{} 上传量:{} 下载量:{} 上传数:{} 下载数:{} " \
|
||||
"邀请:{} H&R:{}\n"
|
||||
|
||||
|
||||
class PtSpider:
|
||||
|
||||
@@ -279,7 +279,7 @@ class MySiteAdmin(AjaxAdmin): # instead of ModelAdmin
|
||||
if obj.sp_hour == '':
|
||||
obj.sp_hour = 0
|
||||
obj.save()
|
||||
|
||||
|
||||
def bonus(self, obj: MySite):
|
||||
status_today = obj.sitestatus_set.order_by('-pk').first()
|
||||
return format_html(
|
||||
@@ -564,13 +564,15 @@ class MySiteAdmin(AjaxAdmin): # instead of ModelAdmin
|
||||
# status = my_site.sitestatus_set.filter(created_at__date__gte=datetime.today()).first()
|
||||
# print(status.ratio)
|
||||
message += message_template.format(
|
||||
my_site.site.name,
|
||||
my_site.my_level,
|
||||
site_status.my_sp,
|
||||
my_site.sp_hour,
|
||||
site_status.my_bonus,
|
||||
site_status.ratio,
|
||||
FileSizeConvert.parse_2_file_size(site_status.downloaded),
|
||||
FileSizeConvert.parse_2_file_size(site_status.seed_vol),
|
||||
FileSizeConvert.parse_2_file_size(site_status.uploaded),
|
||||
FileSizeConvert.parse_2_file_size(site_status.downloaded),
|
||||
my_site.seed,
|
||||
my_site.leech,
|
||||
my_site.invitation,
|
||||
|
||||
@@ -258,13 +258,13 @@
|
||||
|
||||
}
|
||||
},
|
||||
beforeMount() {
|
||||
beforeMount() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
{#this.chart = this.$refs.charts.chart#}
|
||||
this.getData()
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
{#this.chart = this.$refs.charts.chart#}
|
||||
this.getData()
|
||||
},
|
||||
watch: {
|
||||
obj: {
|
||||
option(newValue, oldValue) {
|
||||
@@ -281,7 +281,7 @@
|
||||
"{% url 'sign_in_api' %}" + '?id=' + id
|
||||
).then(res => {
|
||||
console.log('获取数据列表成功', res.data)
|
||||
let data = res.data
|
||||
{#let data = res.data#}
|
||||
{#console.log(typeof res.data.data)#}
|
||||
if (res.data.code === 0) {
|
||||
this.$message({
|
||||
@@ -309,13 +309,14 @@
|
||||
"{% url 'update_site_api' %}" + '?id=' + id
|
||||
).then(res => {
|
||||
console.log('获取数据列表成功', res.data)
|
||||
let data = res.data
|
||||
{#let data = res.data#}
|
||||
{#console.log(typeof res.data.data)#}
|
||||
if (res.data.code === 0) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: res.data.msg
|
||||
});
|
||||
this.getData()
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message({
|
||||
@@ -336,13 +337,15 @@
|
||||
"{% url 'edit_site_api' %}" + '?id=' + id
|
||||
).then(res => {
|
||||
console.log('获取数据列表成功', res.data)
|
||||
let data = res.data
|
||||
{#let data = res.data#}
|
||||
{#console.log(typeof res.data.data)#}
|
||||
if (res.data.code === 0) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: res.data.msg
|
||||
});
|
||||
this.getData()
|
||||
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message({
|
||||
@@ -377,16 +380,16 @@
|
||||
this.setLine(data.data)
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '获取数据列表失败!'
|
||||
});
|
||||
}
|
||||
})
|
||||
//.catch(res => {
|
||||
//console.log('获取数据列表失败', res)
|
||||
// this.$message({
|
||||
// type: 'warning',
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '获取数据列表失败!'
|
||||
});
|
||||
}
|
||||
})
|
||||
//.catch(res => {
|
||||
//console.log('获取数据列表失败', res)
|
||||
// this.$message({
|
||||
// type: 'warning',
|
||||
// message: '获取数据列表失败!' + res
|
||||
//});
|
||||
//})
|
||||
|
||||
Reference in New Issue
Block a user