'.'
This commit is contained in:
194
fix_on_query_finished.py
Normal file
194
fix_on_query_finished.py
Normal file
@@ -0,0 +1,194 @@
|
||||
with open('G:\\PyCode\\domainScanDemo\\app\\ui\\domain_filter.py', 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# 找到on_query_finished方法
|
||||
start_idx = content.find('def on_query_finished')
|
||||
if start_idx == -1:
|
||||
print('on_query_finished method not found')
|
||||
else:
|
||||
# 找到方法的结束位置(下一个方法的开始)
|
||||
end_idx = content.find('def ', start_idx + 1)
|
||||
if end_idx == -1:
|
||||
end_idx = len(content)
|
||||
|
||||
# 构建新的方法
|
||||
new_method = ''' def on_query_finished(self, domains, conditions, total_count):
|
||||
"""
|
||||
查询完成回调
|
||||
"""
|
||||
try:
|
||||
# 清空表格
|
||||
self.table_widget.setRowCount(0)
|
||||
|
||||
# 预设置表格行数,减少UI更新次数
|
||||
num_rows = len(domains)
|
||||
self.table_widget.setRowCount(num_rows)
|
||||
|
||||
# 定义状态映射字典,避免在循环中重复创建
|
||||
register_status_mapping = {
|
||||
0: '待检测',
|
||||
1: '已注册',
|
||||
2: '可注册',
|
||||
3: '宽限期',
|
||||
4: '赎回期',
|
||||
5: '删除期'
|
||||
}
|
||||
|
||||
use_status_mapping = {
|
||||
0: '未使用',
|
||||
1: '已经使用',
|
||||
2: '已经卖出',
|
||||
3: '已经预定'
|
||||
}
|
||||
|
||||
detect_status_mapping = {
|
||||
0: '待检测',
|
||||
1: '检测完成',
|
||||
2: '检测中',
|
||||
3: '黑名单',
|
||||
4: '检测失败'
|
||||
}
|
||||
|
||||
review_status_mapping = {
|
||||
0: '无需复核',
|
||||
1: '待人工复核',
|
||||
2: '人工通过',
|
||||
3: '人工拒绝'
|
||||
}
|
||||
|
||||
has_beian_mapping = {
|
||||
1: '待检测',
|
||||
2: '有备案记录',
|
||||
3: '没有备案记录'
|
||||
}
|
||||
|
||||
# 添加数据到表格
|
||||
for row, domain in enumerate(domains):
|
||||
# 域名
|
||||
self.table_widget.setItem(row, 0, QTableWidgetItem(domain['domain']))
|
||||
|
||||
# 注册状态
|
||||
register_status = register_status_mapping.get(domain['register_status'], '未知')
|
||||
self.table_widget.setItem(row, 1, QTableWidgetItem(register_status))
|
||||
|
||||
# 使用状态
|
||||
use_status = use_status_mapping.get(domain['use_status'], '未知')
|
||||
self.table_widget.setItem(row, 2, QTableWidgetItem(use_status))
|
||||
|
||||
# 检测状态
|
||||
detect_status = detect_status_mapping.get(domain['detect_status'], '未知')
|
||||
self.table_widget.setItem(row, 3, QTableWidgetItem(detect_status))
|
||||
|
||||
# 复核状态
|
||||
review_status = review_status_mapping.get(domain['review_status'], '未知')
|
||||
self.table_widget.setItem(row, 4, QTableWidgetItem(review_status))
|
||||
|
||||
# 域名过期时间
|
||||
expire_date = domain.get('expire_date', '')
|
||||
self.table_widget.setItem(row, 5, QTableWidgetItem(str(expire_date) if expire_date else ''))
|
||||
|
||||
# 单位性质
|
||||
company_type = domain.get('company_type', '')
|
||||
self.table_widget.setItem(row, 6, QTableWidgetItem(company_type))
|
||||
|
||||
# 首页地址
|
||||
home_url = domain.get('website_url', '')
|
||||
self.table_widget.setItem(row, 7, QTableWidgetItem(home_url))
|
||||
|
||||
# 检测时间
|
||||
detect_time = domain.get('detect_time', '')
|
||||
self.table_widget.setItem(row, 8, QTableWidgetItem(str(detect_time) if detect_time else ''))
|
||||
|
||||
# 备案历史
|
||||
has_beian = has_beian_mapping.get(domain.get('has_beian'), '未知')
|
||||
self.table_widget.setItem(row, 9, QTableWidgetItem(has_beian))
|
||||
|
||||
# 备案年份
|
||||
beian_year = domain.get('beian_year', '')
|
||||
self.table_widget.setItem(row, 10, QTableWidgetItem(str(beian_year) if beian_year else ''))
|
||||
|
||||
# 快照年份
|
||||
snapshot_years = domain.get('snapshot_years', '')
|
||||
self.table_widget.setItem(row, 11, QTableWidgetItem(snapshot_years))
|
||||
|
||||
# 百度历史收录状态
|
||||
baidu_history = domain.get('baidu_history')
|
||||
if baidu_history is None:
|
||||
baidu_history = {}
|
||||
elif isinstance(baidu_history, str):
|
||||
import json
|
||||
try:
|
||||
baidu_history = json.loads(baidu_history)
|
||||
except:
|
||||
baidu_history = {}
|
||||
baidu_history_status = '是' if baidu_history.get('status') else '否'
|
||||
self.table_widget.setItem(row, 12, QTableWidgetItem(baidu_history_status))
|
||||
|
||||
# 百度site收录状态
|
||||
baidu_site = domain.get('baidu_site')
|
||||
if baidu_site is None:
|
||||
baidu_site = {}
|
||||
elif isinstance(baidu_site, str):
|
||||
import json
|
||||
try:
|
||||
baidu_site = json.loads(baidu_site)
|
||||
except:
|
||||
baidu_site = {}
|
||||
baidu_site_status = '是' if baidu_site.get('status') else '否'
|
||||
self.table_widget.setItem(row, 13, QTableWidgetItem(baidu_site_status))
|
||||
|
||||
# title是否有中文
|
||||
is_chinese_title = domain.get('is_chinese_title', False)
|
||||
is_chinese_title_text = '是' if is_chinese_title else '否'
|
||||
self.table_widget.setItem(row, 14, QTableWidgetItem(is_chinese_title_text))
|
||||
|
||||
# 360site收录
|
||||
qihu360_site = domain.get('qihu360_site')
|
||||
if qihu360_site is None:
|
||||
qihu360_site = {}
|
||||
elif isinstance(qihu360_site, str):
|
||||
import json
|
||||
try:
|
||||
qihu360_site = json.loads(qihu360_site)
|
||||
except:
|
||||
qihu360_site = {}
|
||||
qihu360_site_status = '是' if qihu360_site.get('status') else '否'
|
||||
self.table_widget.setItem(row, 15, QTableWidgetItem(qihu360_site_status))
|
||||
|
||||
# Google site收录状态
|
||||
google_site = domain.get('google_site')
|
||||
if google_site is None:
|
||||
google_site = {}
|
||||
elif isinstance(google_site, str):
|
||||
import json
|
||||
try:
|
||||
google_site = json.loads(google_site)
|
||||
except:
|
||||
google_site = {}
|
||||
google_site_status = '是' if google_site.get('status') else '否'
|
||||
self.table_widget.setItem(row, 16, QTableWidgetItem(google_site_status))
|
||||
|
||||
# 友情链接数量
|
||||
backlink_count = domain.get('backlink_count', 0)
|
||||
self.table_widget.setItem(row, 17, QTableWidgetItem(str(backlink_count)))
|
||||
|
||||
# 显示查询结果,包括总数、总页数和当前页码
|
||||
current_page_count = len(domains)
|
||||
page_size = self.page_size_spinbox.value()
|
||||
total_pages = (total_count + page_size - 1) // page_size # 向上取整计算总页数
|
||||
current_page = self.page_spinbox.value()
|
||||
self.status_label.setText(f"查询完成,共 {total_count} 条记录,当前页显示 {current_page_count} 条,共 {total_pages} 页,当前第 {current_page} 页")
|
||||
logger.info(f"查询完成,共 {total_count} 条记录,当前页显示 {current_page_count} 条,共 {total_pages} 页,当前第 {current_page} 页")
|
||||
except Exception as e:
|
||||
self.status_label.setText(f"处理查询结果时出错: {str(e)}")
|
||||
logger.error(f"处理查询结果时出错: {e}")
|
||||
'''
|
||||
|
||||
# 替换方法
|
||||
new_content = content[:start_idx] + new_method + content[end_idx:]
|
||||
|
||||
# 写回文件
|
||||
with open('G:\\PyCode\\domainScanDemo\\app\\ui\\domain_filter.py', 'w', encoding='utf-8') as f:
|
||||
f.write(new_content)
|
||||
|
||||
print('on_query_finished method updated successfully')
|
||||
Reference in New Issue
Block a user