You've already forked donnees_meteo
Ajout d'un script pour simplifier le rafraichissement des données
This commit is contained in:
39
scripts/refresh_data_pipeline.py
Normal file
39
scripts/refresh_data_pipeline.py
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Lance l'ensemble du pipeline de préparation des données brutes en une commande."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
COMMANDS = [
|
||||
[sys.executable, "-m", "scripts.clean_csv_exports"],
|
||||
[sys.executable, "docs/02 - Préparation des données/scripts/export_station_data_full.py"],
|
||||
[sys.executable, "docs/02 - Préparation des données/scripts/format_raw_csv.py"],
|
||||
[sys.executable, "docs/02 - Préparation des données/scripts/fill_formatted_1s.py"],
|
||||
[sys.executable, "docs/02 - Préparation des données/scripts/make_minutely_dataset.py"],
|
||||
]
|
||||
|
||||
|
||||
def run_commands() -> int:
|
||||
for cmd in COMMANDS:
|
||||
print(f"\n=== Exécution : {' '.join(cmd)} ===")
|
||||
result = subprocess.run(cmd, cwd=ROOT, check=False)
|
||||
if result.returncode != 0:
|
||||
print(f"✘ Commande échouée ({result.returncode}) : {' '.join(cmd)}")
|
||||
return result.returncode
|
||||
print("✔ OK")
|
||||
return 0
|
||||
|
||||
|
||||
def main() -> None:
|
||||
code = run_commands()
|
||||
if code == 0:
|
||||
print("\n✔ Pipeline de préparation exécuté sans erreur.")
|
||||
sys.exit(code)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user