update build_testresult_db.py script
This commit is contained in:
@@ -7,27 +7,47 @@ import datetime
|
||||
ROOTDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
sys.path.insert(0, os.path.realpath(ROOTDIR))
|
||||
from gallery_dl import extractor, job, config
|
||||
from test.test_results import setup_test_config
|
||||
|
||||
|
||||
# filter test cases
|
||||
|
||||
tests = [
|
||||
([url[0] for url in extr.test if url[1]], extr)
|
||||
for extr in extractor.extractors()
|
||||
if hasattr(extr, "test")
|
||||
(idx, extr, url, result)
|
||||
|
||||
for extr in extractor.extractors()
|
||||
if hasattr(extr, "test") and extr.test
|
||||
if len(sys.argv) <= 1 or extr.category in sys.argv
|
||||
|
||||
for idx, (url, result) in enumerate(extr.test)
|
||||
if result
|
||||
]
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
tests = [
|
||||
(urls, extr)
|
||||
for urls, extr in tests
|
||||
if extr.category in sys.argv
|
||||
]
|
||||
|
||||
# setup target directory
|
||||
|
||||
path = os.path.join(ROOTDIR, "archive/testdb", str(datetime.date.today()))
|
||||
os.makedirs(path, exist_ok=True)
|
||||
config.load()
|
||||
|
||||
for urls, extr in tests:
|
||||
for i, url in enumerate(urls):
|
||||
name = "%s-%s-%d.json" % (extr.category, extr.subcategory, i)
|
||||
print(name)
|
||||
|
||||
for idx, extr, url, result in tests:
|
||||
|
||||
# filename
|
||||
name = "{}-{}-{}.json".format(extr.category, extr.subcategory, idx)
|
||||
print(name)
|
||||
|
||||
# config values
|
||||
setup_test_config()
|
||||
|
||||
if "options" in result:
|
||||
for key, value in result["options"]:
|
||||
config.set(key.split("."), value)
|
||||
if "range" in result:
|
||||
config.set(("image-range",), result["range"])
|
||||
|
||||
# write test data
|
||||
try:
|
||||
with open(os.path.join(path, name), "w") as outfile:
|
||||
job.DataJob(url, file=outfile).run()
|
||||
job.DataJob(url, file=outfile, ensure_ascii=False).run()
|
||||
except KeyboardInterrupt:
|
||||
sys.exit()
|
||||
|
||||
Reference in New Issue
Block a user