From 6e657130739c40abceaa4d03ac630bebcac577c8 Mon Sep 17 00:00:00 2001 From: hjdhnx Date: Tue, 10 Jan 2023 11:45:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/vod.py | 70 ++++++++++++++++++------------ js/version.txt | 2 +- templates/admin.html | 1 + templates/show_search.html | 89 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 133 insertions(+), 29 deletions(-) create mode 100644 templates/show_search.html diff --git a/controllers/vod.py b/controllers/vod.py index 5647d5b..9fd8c55 100644 --- a/controllers/vod.py +++ b/controllers/vod.py @@ -200,49 +200,55 @@ def sort_lsg_rules2(sites:list,lsg_rule_names:list): sites.sort(key=functools.cmp_to_key(comp), reverse=False) return sites -def multi_search(wd): +def getSearchSites(): + val = {} lsg = storage_service() - env = get_env() - t1 = time() try: timeout = round(int(lsg.getItem('SEARCH_TIMEOUT',5000))/1000,2) except: timeout = 5 + val['timeout'] = timeout rules = getRules('js')['list'] - rule_names = list(map(lambda x:x['name'],rules)) + rule_names = list(map(lambda x: x['name'], rules)) rules_exclude = ['drpy'] new_rules = list(filter(lambda x: x.get('searchable', 0) and x.get('name', '') not in rules_exclude, rules)) - search_sites = [new_rule['name'] for new_rule in new_rules] - # print(search_sites) - nosearch_sites = set(rule_names) ^ set(search_sites) + total_search = [new_rule['name'] for new_rule in new_rules] + nosearch_sites = set(rule_names) ^ set(total_search) nosearch_sites.remove('drpy') - # print(nosearch_sites) - logger.info(f'开始聚搜{wd},共计{len(search_sites)}个规则,聚搜超时{timeout}秒') - logger.info(f'不支持聚搜的规则,共计{len(nosearch_sites)}个规则:{",".join(nosearch_sites)}') - search_sites = merged_hide(search_sites) - # print(len(search_sites)) - # search_sites = [] + val['total_search'] = total_search + val['nosearch_sites'] = list(nosearch_sites) + search_sites = merged_hide(total_search) lsg_rules = rules_service() lsg_rule_list = lsg_rules.query_all() - # print(len(lsg_rule_list)) - # rule_names = list(map(lambda x: x['name'], rule_list)) - lsg_rule_list = list(filter(lambda x:x['name'] in search_sites,lsg_rule_list)) + lsg_rule_list = list(filter(lambda x: x['name'] in search_sites, lsg_rule_list)) lsg_rule_names = list(map(lambda x: x['name'], lsg_rule_list)) - search_sites = sort_lsg_rules2(search_sites,lsg_rule_names) - # print(len(lsg_rule_list)) - # lsg_rule_list = sort_lsg_rules(lsg_rule_list) - # print(len(lsg_rule_list)) - # print(search_sites) - SEARCH_LIMIT = lsg.getItem('SEARCH_LIMIT', 24) + search_sites = sort_lsg_rules2(search_sites, lsg_rule_names) + search_limit = lsg.getItem('SEARCH_LIMIT', 24) try: - SEARCH_LIMIT = int(SEARCH_LIMIT) + search_limit = int(search_limit) except: - SEARCH_LIMIT = 0 - if SEARCH_LIMIT < 1: - SEARCH_LIMIT = 0 - search_sites = search_sites[:SEARCH_LIMIT] - msearch_msg = f'搜索限制条数:{SEARCH_LIMIT}/{len(search_sites)} {search_sites}' + search_limit = 0 + if search_limit < 1: + search_limit = 0 + search_sites = search_sites[:search_limit] + val['search_limit'] = search_limit + val['search_sites'] = search_sites + return val + +def multi_search(wd): + t1 = time() + val = getSearchSites() + timeout = val['timeout'] + total_search = val['total_search'] + nosearch_sites = val['nosearch_sites'] + search_limit = val['search_limit'] + search_sites = val['search_sites'] + + env = get_env() + logger.info(f'开始聚搜{wd},共计{len(total_search)}个规则,聚搜超时{timeout}秒') + logger.info(f'不支持聚搜的规则,共计{len(nosearch_sites)}个规则:{",".join(nosearch_sites)}') + msearch_msg = f'搜索限制条数:{search_limit}/{len(search_sites)} {search_sites}' logger.info(msearch_msg) print(msearch_msg) # search_sites = [] @@ -273,6 +279,14 @@ def multi_search(wd): "list": res }) +@vod.route('/vods') +def vods_search(): + val = getSearchSites() + print(val) + + # return jsonify(val) + return render_template('show_search.html',val=val) + @vod.route('/vod') def vod_home(): lsg = storage_service() diff --git a/js/version.txt b/js/version.txt index a34f890..a938e98 100644 --- a/js/version.txt +++ b/js/version.txt @@ -1 +1 @@ -3.9.34beta6 \ No newline at end of file +3.9.34beta7 \ No newline at end of file diff --git a/templates/admin.html b/templates/admin.html index 9283639..a168d87 100644 --- a/templates/admin.html +++ b/templates/admin.html @@ -224,6 +224,7 @@ function getFileSize(fileObj) { id="lives">直播列表 + diff --git a/templates/show_search.html b/templates/show_search.html new file mode 100644 index 0000000..91fc7cf --- /dev/null +++ b/templates/show_search.html @@ -0,0 +1,89 @@ + + + + + + + + + + drpy搜索统计 + + + + + + + + + +
+ + +

欢迎使用drpy搜索统计界面
框架开发:道长框架美化:蓝莓
+

+

统计内置源参与搜索相关数据

+
+ +
+
+ + \ No newline at end of file -- GitLab