36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
"""CLI: то же, что кнопка «Применить настройки Pi» в админке (install_fresh.sh вызывает этот скрипт)."""
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import sys
|
|
|
|
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
|
if ROOT not in sys.path:
|
|
sys.path.insert(0, ROOT)
|
|
|
|
os.environ.setdefault("WESP_CONFIG", "production")
|
|
|
|
|
|
def main() -> int:
|
|
from app import create_app
|
|
from app.services.pi_platform_setup_service import apply_pi_platform_setup
|
|
from config import get_config_class
|
|
|
|
if len(sys.argv) > 1:
|
|
os.environ["WESP_BASE_DIR"] = os.path.abspath(sys.argv[1])
|
|
if len(sys.argv) > 2:
|
|
os.environ["WESP_VENV"] = os.path.abspath(sys.argv[2])
|
|
if len(sys.argv) > 3:
|
|
os.environ["WESP_SYSTEMD_UNIT"] = sys.argv[3].strip()
|
|
|
|
app = create_app(get_config_class(), run_migrations=False)
|
|
with app.app_context():
|
|
result = apply_pi_platform_setup(app.config)
|
|
print(result.get("message", result))
|
|
return 0 if result.get("ok") else 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|