diff --git a/pyproject.toml b/pyproject.toml index 375790e..93e990e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,8 @@ classifiers = [ dependencies = [ "tomli", "tomli_w", - "rich" + "rich", + "requests" ] diff --git a/src/metar_navigate/application.py b/src/metar_navigate/application.py index 7520631..67c9fde 100644 --- a/src/metar_navigate/application.py +++ b/src/metar_navigate/application.py @@ -1,8 +1,7 @@ import argparse import sys - - +from metar_navigate.services import METARService from metar_navigate.ui import RichInterface from metar_navigate.utils import ConfigManager @@ -11,6 +10,7 @@ class Application: self.parser = None self.args = None self.config = ConfigManager() + self.METARService = METARService(self) self.ui = None self.is_configured = False diff --git a/src/metar_navigate/services/METARSerice.py b/src/metar_navigate/services/METARSerice.py new file mode 100644 index 0000000..8d721a7 --- /dev/null +++ b/src/metar_navigate/services/METARSerice.py @@ -0,0 +1,20 @@ +import requests +import json + +class METARService: + def __init__(self,parent): + self.__parent = parent + self.url = "https://api.checkwx.com/metar/" + def request_metar(self,ICAO_code): + url = self.url + ICAO_code + header = { + 'X-API-Key':self.__parent.config.get_data("checkwx_api_key").get("checkwx_api_key") + } + if self.__parent.args.detailed: + url = url + "/decoded" + response = requests.request('GET', url,headers=header) + return response + def get_metar(self,ICAO_code): + request = self.request_metar(ICAO_code) + + return request diff --git a/src/metar_navigate/services/__init__.py b/src/metar_navigate/services/__init__.py new file mode 100644 index 0000000..69c58b4 --- /dev/null +++ b/src/metar_navigate/services/__init__.py @@ -0,0 +1,3 @@ +from .METARSerice import METARService + +__all__ = ["METARService"] \ No newline at end of file