Ajoute les paramètre '--config' et '--location'

This commit is contained in:
2025-08-14 13:03:08 +02:00
parent cd74efb827
commit d5ca160949
2 changed files with 37 additions and 10 deletions

41
main.py
View File

@@ -1,20 +1,51 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import requests
import locale
import json
import os import os
import json
import locale
import pprint
import argparse
import requests
from pathlib import Path
from datetime import datetime from datetime import datetime
from meteo.config import Config from meteo.config import Config
yr_no_url = "https://api.met.no/weatherapi/locationforecast/2.0/" yr_no_url = "https://api.met.no/weatherapi/locationforecast/2.0/"
def load_args():
"""Charge l'action et les paramêtres communs a toutes les actions."""
parser = argparse.ArgumentParser(description="Affiche la météo")
parser.add_argument(
"-c",
"--config",
default=Path.home() / ".config" / "meteo.yaml",
help="Chemin vers le fichier de configuration",
)
parser.add_argument(
"-l",
"--location",
default="home",
help="",
)
return vars(parser.parse_args())
def main(): def main():
"""Fonction principale""" """Fonction principale"""
conf = Config("./meteo.yaml") args = load_args()
location = conf.get_location("florac") config_file = Path(args["config"])
if not config_file.is_file():
print(f"{config_file} n'est pas un fichier.")
os._exit(1)
conf = Config(args["config"])
try:
location = conf.get_location(args["location"])
except AttributeError:
print(f"{args['location']} n'est pas configuré.")
os._exit(1)
url = f"{yr_no_url}compact.json?lat={location['latitude']}&lon={location['longitude']}&altitude={location['altitude']}" url = f"{yr_no_url}compact.json?lat={location['latitude']}&lon={location['longitude']}&altitude={location['altitude']}"
headers = {"User-Agent": "DaikoMete/0.1 daiko@daiko.fr"} headers = {"User-Agent": "DaikoMete/0.1 daiko@daiko.fr"}

View File

@@ -1,10 +1,6 @@
locations: locations:
florac: home:
altitude: 522 altitude: 522
latitude: 44.3245 latitude: 44.3245
longitude: 3.5925 longitude: 3.5925
laparrouquial:
altitude: 200
latitude: 44.1229
longitude: 2.0199