This commit is contained in:
2026-05-08 15:16:04 +08:00
parent 042b626ccb
commit 507fb9789a
71 changed files with 14944 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from app import create_app
from app.services.log_book_importer import import_log_book_data
def main() -> None:
parser = argparse.ArgumentParser(description="Import mission asset logs from log_book.xlsx.")
parser.add_argument(
"--path",
default=str(PROJECT_ROOT / "log_book.xlsx"),
help="Path to log_book.xlsx.",
)
args = parser.parse_args()
app = create_app()
with app.app_context():
summary = import_log_book_data(args.path)
print(json.dumps(summary.to_dict(), ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()
+36
View File
@@ -0,0 +1,36 @@
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from app import create_app
from app.services.workbook_importer import import_workbook_data
def main() -> None:
parser = argparse.ArgumentParser(description="Import workbook data into the configured database.")
parser.add_argument("--path", default=None, help="Path to the workbook file.")
parser.add_argument(
"--replace",
action="store_true",
help="Clear imported tables before loading workbook data again.",
)
args = parser.parse_args()
app = create_app()
with app.app_context():
workbook_path = args.path or app.config["WORKBOOK_PATH"]
summary = import_workbook_data(workbook_path=workbook_path, replace_existing=args.replace)
print(json.dumps(summary.to_dict(), ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()
+31
View File
@@ -0,0 +1,31 @@
from __future__ import annotations
import argparse
import json
import os
import sys
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from app.services.workbook_inspector import summarize_workbook
def main() -> None:
parser = argparse.ArgumentParser(description="Inspect the KSP workbook structure.")
parser.add_argument(
"--path",
default=os.getenv("WORKBOOK_PATH", "KSP Engine Tweak Chart.xlsx"),
help="Path to the workbook file.",
)
args = parser.parse_args()
summary = summarize_workbook(args.path)
print(json.dumps(summary, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()