1
0
mirror of synced 2026-04-30 23:08:51 +08:00

add model

This commit is contained in:
xueweihan
2024-12-31 18:46:14 +08:00
parent 0c64203e78
commit 234cf6f8c2
2 changed files with 26 additions and 18 deletions

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python-version: [3.7] python-version: [3.9]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View File

@@ -8,6 +8,7 @@
import os import os
import re import re
import json import json
import argparse
from typing import Any, Optional from typing import Any, Optional
from datetime import datetime, timezone, timedelta from datetime import datetime, timezone, timedelta
@@ -87,12 +88,12 @@ def write_json_file(hosts_list: list) -> None:
def get_best_ip(ip_list: list) -> str: def get_best_ip(ip_list: list) -> str:
ping_timeout = 2 ping_timeout = 2
best_ip = '' best_ip = ''
min_ms = ping_timeout * 1000 min_ms = ping_timeout * 500
ip_set = set(ip_list) ip_set = set(ip_list)
for ip in ip_set: for ip in ip_set:
ping_result = ping(ip, timeout=ping_timeout) ping_result = ping(ip, timeout=ping_timeout)
print(ping_result.rtt_avg_ms) print(ping_result.rtt_avg_ms)
if ping_result.rtt_avg_ms == ping_timeout * 1000: if ping_result.rtt_avg_ms == ping_timeout * 500:
# 超时认为 IP 失效 # 超时认为 IP 失效
continue continue
else: else:
@@ -135,25 +136,27 @@ def get_ip(session: Any, github_url: str) -> Optional[str]:
raise Exception raise Exception
def main(verbose=False) -> None: def main(verbose=False, model='server') -> None:
if verbose: if verbose:
print('Start script.') print('Start script.')
session = HTMLSession() session = HTMLSession()
content = "" content = ""
content_list = get_json(session) if model == 'server':
for item in content_list: content_list = []
content += item[0].ljust(30) + item[1] + "\n" for index, github_url in enumerate(GITHUB_URLS):
# content_list = [] try:
# for index, github_url in enumerate(GITHUB_URLS): ip = get_ip(session, github_url)
# try:
# ip = get_ip(session, github_url)
# content += ip.ljust(30) + github_url + "\n" content += ip.ljust(30) + github_url + "\n"
# content_list.append((ip, github_url,)) content_list.append((ip, github_url,))
# except Exception: except Exception:
# continue continue
# if verbose: if verbose:
# print(f'process url: {index + 1}/{len(GITHUB_URLS)}') print(f'process url: {index + 1}/{len(GITHUB_URLS)}')
else:
content_list = get_json(session)
for item in content_list:
content += item[0].ljust(30) + item[1] + "\n"
if not content: if not content:
return return
@@ -170,4 +173,9 @@ def main(verbose=False) -> None:
if __name__ == '__main__': if __name__ == '__main__':
main(True) parser = argparse.ArgumentParser(description="Run fetch ips script")
# 2. 定义参数
parser.add_argument('model', metavar='model', type=str, nargs='?')
# 3. 解析命令行
args = parser.parse_args()
main(True, args.model)