MCPcopy
hub / github.com/tickmao/Novel / main

Function main

scripts/source_inventory.py:341–371  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

339
340
341def main():
342 import argparse
343
344 parser = argparse.ArgumentParser(description="候选池与工作库存管理器")
345 parser.add_argument("--base-dir", type=Path, help="项目根目录或 sources/legado 目录")
346 parser.add_argument(
347 "action",
348 choices=["status", "refresh-candidates", "refresh-screened", "rebuild"],
349 help="执行动作",
350 )
351 args = parser.parse_args()
352
353 inventory = SourceInventory(args.base_dir)
354
355 if args.action == "status":
356 print(json.dumps(inventory.inventory_status(), ensure_ascii=False, indent=2))
357 return 0
358
359 if args.action == "refresh-screened":
360 _, report = inventory.refresh_screened_pool(save=True)
361 print(json.dumps(report, ensure_ascii=False, indent=2))
362 return 0
363
364 if args.action == "refresh-candidates":
365 _, report = inventory.refresh_candidate_pool(save=True)
366 print(json.dumps(report, ensure_ascii=False, indent=2))
367 return 0
368
369 _, _, report = inventory.build_inventory(save=True)
370 print(json.dumps(report, ensure_ascii=False, indent=2))
371 return 0
372
373
374if __name__ == "__main__":

Callers 1

Calls 5

inventory_statusMethod · 0.95
refresh_screened_poolMethod · 0.95
build_inventoryMethod · 0.95
SourceInventoryClass · 0.85

Tested by

no test coverage detected