diff --git a/CDNDrive/__main__.py b/CDNDrive/__main__.py index a2c06510b52f97fb6a6dfb35cd46aecbcc729635..17eeee14e4904efaa7b6a200d13aea67ccbaf126 100644 --- a/CDNDrive/__main__.py +++ b/CDNDrive/__main__.py @@ -247,18 +247,20 @@ def info_handle(args): log("元数据解析失败") def history_handle(args): + global api + all_history = read_history() if len(all_history) == 0: print(f"暂无历史记录") return idx = 0 for site, history in all_history.items(): + api = drivers[site] for meta_dict in history.values(): - prefix = f"[{idx + 1}]" + prefix = f"[{idx + 1}] " + meta_dict['url'] = api.real2meta(meta_dict['url']) + print_history_meta(meta_dict, prefix) idx += 1 - print(f"{prefix} {meta_dict['filename']} ({size_string(meta_dict['size'])}), 共有{len(meta_dict['block'])}个分块, 上传于{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(meta_dict['time']))}") - print(f"{' ' * len(prefix)} META URL -> {api.real2meta(meta_dict['url'])}") - def interact_mode(parser, subparsers): subparsers.add_parser("help", help="show this help message").set_defaults(func=lambda _: parser.parse_args(["--help"]).func()) diff --git a/CDNDrive/util.py b/CDNDrive/util.py index 5a0cfbb4a7a9585976c62c55d76f5c7b0cc313ce..86c9405eb9dfdcd6cae0c37d49e3a10533f5437f 100644 --- a/CDNDrive/util.py +++ b/CDNDrive/util.py @@ -89,14 +89,19 @@ def request_retry(method, url, retry=10, **kwargs): get_retry = lambda url, retry=10, **kwargs: request_retry('GET', url, retry, **kwargs) post_retry = lambda url, retry=10, **kwargs: request_retry('POST', url, retry, **kwargs) -def print_meta(meta_dict): - print(f"文件名: {meta_dict['filename']}") - print(f"大小: {size_string(meta_dict['size'])}") - print(f"SHA-1: {meta_dict['sha1']}") - print(f"上传时间: {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(meta_dict['time']))}") - print(f"分块数: {len(meta_dict['block'])}") +def print_meta(meta_dict, prefix=""): + pad = ' ' * len(prefix) + print(f"{prefix}文件名: {meta_dict['filename']}") + print(f"{pad}大小: {size_string(meta_dict['size'])}") + print(f"{pad}SHA-1: {meta_dict['sha1']}") + print(f"{pad}上传时间: {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(meta_dict['time']))}") + print(f"{pad}分块数: {len(meta_dict['block'])}") for index, block_dict in enumerate(meta_dict['block']): - print(f"分块{index + 1} ({size_string(block_dict['size'])}) URL: {block_dict['url']}") + print(f"{pad}分块{index + 1} ({size_string(block_dict['size'])}) URL: {block_dict['url']}") + +def print_history_meta(meta_dict, prefix=""): + print_meta(meta_dict, prefix) + print(f"{' ' * len(prefix)}META URL: {meta_dict['url']}") def block_offset(meta_dict, i): return sum(meta_dict['block'][j]['size'] for j in range(i))