Files
chinese-poetry/test_poetry.py
2023-04-17 14:13:23 +08:00

48 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
import os
import json
import sys
import traceback
import functools
namespace = locals()
def check_json(f, _dir):
filepath = os.path.join(_dir, f)
if os.path.isdir(filepath):
[check_json(f, filepath) for f in os.listdir(filepath)]
if not f.endswith('.json'):
return True
with open(filepath) as file:
try:
_ = json.loads(file.read())
sys.stdout.write(f"{filepath} 校验成功")
return True
except Exception as e:
sys.stderr.write(traceback.format_exc())
print(dir(e))
assert False, f"{filepath} 校验失败, {e}"
def check_path(path):
"""校验 指定目录 中的 json 文件"""
[check_json(f, path) for f in os.listdir(path)]
def is_book_directory(book):
if not os.path.isdir(book):
return False
for i in book:
if i > u'\u4e00' and i < u'\u9fff':
return True
return False
for path in [i for i in os.listdir('.') if is_book_directory(i)]:
namespace[f'test_{path}'] = functools.partial(check_path, f'{path}')